Memcached项目删除不起作用

时间:2011-11-21 13:38:11

标签: php memcached

我偶然发现了Memcached服务器(版本1.4.5)的奇怪行为: 我有一个服务器,我正在尝试删除一个存储的值,它不起作用,因为该项目仍然存在(我没有收到任何错误)。

我写了一个快速的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服务。

请告知。

1 个答案:

答案 0 :(得分:1)

据我记得,这是超时的问题,所以请你尝试使用:

memcache_delete($memcache_object, $key, 0);