APCで少し奇妙な問題が発生しました。私たちのコードでは、jsonから数百の大きな配列を逆シリアル化する必要があり、この操作は非常にコストがかかります。ここで、配列を逆シリアル化してAPCに格納しようとしましたが、apc_fetch()は次の要求でfalseを返します。
$items = $entity->getItems(); // JSON-String
$cacheKey = __FUNCTION__ . '_itemcache_' . $entity->getId() . '_' . md5($items);
$cacheItems = apc_fetch($cacheKey);
if(false === $cacheItems) {
$cacheItems = json_decode($items, true);
apc_store($cacheKey, $cacheItems, 3600);
}
// ...
apc.phpにキャッシュされたすべてのアイテムを表示でき、同じserver-configを使用して他のアプリケーションからそれらをフェッチすることもできます。何が間違っている可能性がありますか?このスニペットはsymfony-projectから取得したものですが、他のapcコードが使用されていないことがどこまでわかるかわかります。
何か案は?私はすでにこことグーグルで検索しました、しかし私は何も役に立ちませんでした。