Я наткнулся на странное поведение сервера 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 ().
Но , если я нажму кнопку обновить и запустить его снова, ключ $ все еще существует на сервере memcached, и я получу такой же вывод.
Я также пытался восстановить соединение между каждым вызовом memcache (т.е. get-> delete-> get), но это не помогло.
Единственное, что очищает память, - это сброс службы Memcached.
Пожалуйста, сообщите.