2016-01-21 12 views
0

Я использую функции zend_shm_cache в качестве быстрого хранения переменных. Моя проблема в том, что кеш, похоже, не очищается после завершения TTL. Пример:Кэш данных Zend TTL не работает

zend_shm_cache_store($key = 'test3', 'value', 2); 
foreach(range(1,5) as $timer){ 
    sleep(1); 
    echo $timer.' - ' .zend_shm_cache_fetch($key).'<br/>'; 
} 

Возвращает:

 
1 - value 
2 - 
3 - value 
4 - value 
5 - value 

Я ожидал бы кэш быть пустым после второй секунды. Можете ли вы объяснить, что происходит или предложить решение?

ответ

1

Я получил ответ в документации APCU:

После ТТЛ прошло, хранимая переменная будет вычеркнут из кэш (при следующем запросе).

Поскольку мой код работает только с одним запросом, кеш никогда не удаляется, даже когда его время истекло.