1

问题是在检查缓存是否过期时如何有效地做到这一点?

你能用一些非常基本的演示来解释吗?

4

3 回答 3

0

有很多不同的方法来缓存数据。您可以将它们存储在 ram、磁盘等中。我编写了自己的自定义解决方案,该解决方案使用 memcache/apc/filesystem 取决于我对任务的需要,因为我找不到满足我要求的解决方案。您可以看到一些使用PEAR_CacheLiteZend_Cache进行缓存的示例。就像提到的 hobodave 一样,apc 确实有一种非常简单的方法,只需使用 ttl 将数据放入缓存中,但这可能并不实用,具体取决于您的应用程序。这些都有一些问题,所以买家要小心。

于 2010-02-09T18:50:11.253 回答
0

代码示例:检查缓存是否过期

DEFINE('time_to_live',60);

 class MyCacheManager {

    function load(key) {
       if(filemtime(/data/cache/key.dat) > time_to_live) {
         //expired!
       }

    }

 }//CLASS
于 2010-02-09T19:02:01.327 回答
0

这取决于具体情况。

最好的方法是生成静态数据,并直接提供它,例如通过redirect in .htaccess,所以php 无关。当您的数据发生更改时,缓存过期,例如当您添加新帖子时(然后您生成新的静态文件覆盖旧的)。

如果您需要在特定时间段内刷新缓存,您可能需要实现二级缓存模式。

于 2010-02-11T22:02:26.920 回答