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);