Memcached项目删除不起作用
问题描述:
我偶然发现了Memcached服务器(版本1.4.5)的一个奇怪行为: 我有一台服务器,我试图删除一个存储值,它不起作用项目仍然存在(我没有收到任何错误)。Memcached项目删除不起作用
我写了一个快速的PHP代码,显示问题:
$memcache_object = memcache_connect(MEMCACHED_SERVER_ADDRESS, MEMCACHED_SERVER_PORT);
$key = '64b788714dx7cds5350101e37ec0ddd40253123d';
$myObject = memcache_get($memcache_object, $key);
echo count($myObject); // Prints 1000
memcache_delete($memcache_object, $key);
$myObjectSecondTry = memcache_get($memcache_object, $key);
if (empty($myObjectSecondTry))
echo 'Empty'; // It does print it's empty
memcache_close($memcache_object);
现在,如果我运行的代码,一旦它说:“1000”并且还表示,目标是在第二memcache_get空()尝试。 但是如果我点击刷新并重新运行它,那么$ key仍然存在于memcached服务器上,我得到的与的输出相同。
我也尝试在每个memcache调用(即get-> delete-> get)之间重新连接,但它没有帮助。
清除内存的唯一方法是重置Memcached服务。
请指教。
答
至于我记得,那是有超时的问题所以请您尝试使用:
memcache_delete($memcache_object, $key, 0);