如何设置缓存文件的到期日期?

时间:2016-09-13 10:46:48

标签: php file caching cache-control

我想知道像doctrine-cache或zend-cache这样的缓存系统如果这些文件不在/ tmp文件夹中,就会为缓存文件设置一个到期日期。如何设置缓存文件的到期时间?如果我想使用我自己的缓存文件系统而不是使用doctrine或zend,如果我不想将它放在/ tmp文件夹中,如何为它设置一个到期日期?

2 个答案:

答案 0 :(得分:2)

缓存非常简单。我们假设你有目录cache。 您为变量$expire

下的文件设置了到期时间

所以算法是

$file = "cache/cached.jpg";
$expire = 60 * 3600;

if (filectime($file) > time() + $expire)
{
   // reload file and invalidate cache
} else if (file_exists($file){
   // get from cache
} else {
  // get file and save it to cache then return  
}

但最好使用像http缓存这样的缓存,如expire header,varnish等。

答案 1 :(得分:1)

我建议将缓存服务用作Memcached。有一个third parameter设置功能,这意味着该值过期的秒数。