Zend 数据缓存 TTL 不起作用


Zend data cache TTL not working

我正在使用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 - 值2 -3 - 值4 - 值5 - 值

我希望缓存在秒后为空。你能解释一下发生了什么或提出解决方案吗?

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

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

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