Кажется, что данные истекают, как и ожидалось с Memcached, но сами ключи никогда не истекает. Почему ключи остаются после того, как значение обнуляется? Когда я запускаю этот код:
$frontCache = new Phalcon\Cache\Frontend\Data(array(
"lifetime" => 30
));
//Create the Cache setting memcached connection options
$cache = new Phalcon\Cache\Backend\Memcache($frontCache, array(
'host' => 'localhost',
'port' => 11211,
'persistent' => false
));
//Cache arbitrary data
$myNewRandomKey = generateNewRandomKey();
$cache->save($myNewRandomKey, array(1, 2, 3, 4, 5));
Взято из http://docs.phalconphp.com/en/latest/api/Phalcon_Cache_Backend_Memcache.html
Я могу успешно сохранить массив под ключом $ myNewRandomKey. Затем я запускаю этот код после истечения 30-секундного таймаута:
$keys = $cache->queryKeys();
print_r($keys);
И убедитесь, что ключ STILL EXISTS, хотя данные имеют значение NULL, где они были заполнены до истечения времени ожидания. Это кажется мне только наполовину правильным. Ключ тоже должен был очиститься.
Однако, если я запускаю $ cache-> delete ($ myNewRandomKey); ключ полностью сотрет. Противоречивые!
Итог: если срок действия ключей не истек или в memcached есть ошибки, то будут ли они расти и расти со временем, пока это не вызовет головную боль другого типа — головную боль сисадмина?
Stats:
Windows 7 64bit
Apache 2.4.4
PHP 5.4.12
Memcached 1.4.4-14-g9c66c0
Memcache Apache extension version 2.2.7-5.4-VC9-x64 from http://www.anindya.com/category/windows/
Client: Phalcon PHP
Это версии, но я надеюсь, что это не имеет отношения к проблеме и что мои ожидания неверны.
Приветствую всех ТАКИХ!
SL
Задача ещё не решена.
Других решений пока нет …