PHP:apc_store无法按预期工作
发布时间:2020-12-13 13:05:18 所属栏目:PHP教程 来源:网络整理
导读:我已经开始尝试APC在每个Web服务器上存储一些特定数据,作为memcached的补充. 但是,以下代码片令我头疼: echo apc_store('key','value');echo apc_store('key','newvalue');echo apc_fetch('key'); // Echoes: value Memcached示例: $memcached = new Memca
我已经开始尝试APC在每个Web服务器上存储一些特定数据,作为memcached的补充.
但是,以下代码片令我头疼: echo apc_store('key','value'); echo apc_store('key','newvalue'); echo apc_fetch('key'); // Echoes: value Memcached示例: $memcached = new Memcached; $memcached->addServer('localhost','11211'); $memcached->set('key','value1'); echo $memcached->get('key') . '<br />'; // Echoes value1 $memcached->set('key','value2'); echo $memcached->get('key'). '<br />'; // Echoes value2 $memcached->set('key','value3'); echo $memcached->get('key'). '<br />'; // Echoes value3 为什么apc_store无法正常工作? 编辑:
这似乎是一个已知问题:
PECL Bug #16814 New warning “Potential cache slam averted for key”
似乎每个请求只允许一个apc_store().我试过这个测试: <?php echo "<p>apc_fetch(key): " . apc_fetch('key') . "</p>n"; // echo "<p>apc_store(value): " . apc_store('key','value') . "</p>n"; echo "<p>apc_store(newvalue): " . apc_store('key','newvalue') . "</p>n"; echo "<p>apc_fetch(key): " . apc_fetch('key') . "</p>n"; 玩这个,取消注释第二行并看到它确实覆盖了先前请求的键集,但是每个请求只能存储一个给定的键. 错误日志提到了一个ini文件设置apc.slam_defense,当设置为Off时可以禁用这种单写行为.但我简单地尝试了一下,我无法证实这是有效的.也许你会有更多的运气(记得在你改变php.ini时重启Apache). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |