記録のために、私は XAMPP (PHP 5.3.1) で Windows Vista を使用しています。
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 は、このコードが記述されたクラス内で定義された静的関数です (明らかなように、Query を実行するため)。
私は何か間違ったことをしていますか?結果セットをキャッシュする前に何かする必要がありますか?
親切なアドバイス。