1
我偶然發現了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服務。
請指教。