ttl过期后是否删除了zend磁盘缓存?

时间:2014-03-07 20:40:13

标签: php zend-framework caching

关于最后一个参数,关于zend_disk_cache_store documentation:"只要TTL未过期,数据缓存就会将对象保留在缓存中。 TTL过期后,将从缓存中删除该对象。默认值为0."

文档没有明确说明数据是从磁盘中删除还是被zend忽略。从我的测试来看,它不会从磁盘中删除。 zend上是否有任何资源可以确保从磁盘中删除缓存?

1 个答案:

答案 0 :(得分:0)

数据缓存锁定过期功能通过保证应用程序仅从数据源收集一个过期的片段,并避免多个PHP进程同时检测到数据的情况,减少繁忙应用程序的负载峰值在缓存中已经过期,并反复运行高成本操作。

它是如何运作的?

当存储的数据高速缓存条目到期时,将执行以下过程:

  1. 首次尝试获取它将收到“错误”响应。
  2. 所有后续请求将接收存储在数据高速缓存中的过期对象,持续时间为120秒。
  3. 在此期间,收到“false”响应的php脚本会生成更新的数据条目,并使用相同的密钥将其存储在数据缓存中。
  4. 创建更新的数据条目后,会立即将其返回到后续的提取请求。
  5. 如果在120​​秒的时间内没有发生这种情况,整个过程(1-4)将重复进行。
  6. 更多信息: http://files.zend.com/help/Zend-Server/zend-server.htm#working_with_the_data_cache.htm