Zend数据缓存TTL不起作用

时间:2016-01-21 08:55:16

标签: php caching zend-server

我使用zend_shm_cache函数作为变量的快速存储。我的问题是,在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 个答案:

答案 0 :(得分:1)

我在APCU的文档中得到了答案:

  

ttl过后,存储的变量将从中删除   缓存(在下一个请求中)。

由于我的代码只在一个请求中运行,因此即使缓存时间过期,也不会删除缓存。