为了记录,我使用Windows Vista和XAMPP(PHP 5.3.1)。在Windows上使用PHP和APC发布缓存结果集
我想使用APC来缓存数据库结果。我对字符串变量做了一个简单的APC测试,似乎工作正常。但是,当我尝试使用数据库结果资源执行同样的操作时,只要我想使用它,就会收到缓存中的数据'不是有效的MySQL结果资源'的投诉。
这里是我的代码:
$key_hash_str = md5($query_sql_str);
$cache_res = Mox_Cache_APC::fetch($key_hash_str);;
switch(true)
{
case (!$cache_res):
$query_result_res = self::executeQuery($query_sql_str);
Mox_Cache_APC::store($key_hash_str, $query_result_res);
return $query_result_res;
break;
default:
return $cache_res;
}
Mox_Cache_APC是我APC类,并提取和存储是apc_fetch()和apc_store()只是抽象。 executeQuery是一个静态函数,在该代码写入的类中定义(很明显,用于执行查询)。
我做错了什么?在缓存之前需要对结果集做些什么?
请注意。
你可以做print_r($ query_result_res)并发布结果吗? – 2010-07-22 15:16:35
我只是做了print_r(),这是我得到如下: 资源ID#16 – 2010-07-22 15:19:41