php获取文件修改时间进行文件缓存
更新于2015-03-13 08:48:45 | 771次浏览
摘要 : 对php输出页面进行缓存,可以大幅提升页面加载速度,对文件缓存进行管理,需要获取文件的修改时间。
最近在做一个网站,网站的页面是采集远程服务器上的内容,然后返回给浏览器,开始的方案是只要浏览器访问网站,就进行远程采集,这样能保证内容实时性,但经过测试发现,远程采集比较耗费时间,受网络波动影响较大,而且随着网站页面的增加和访问量的增加,对远程服务器的压力也增加。
为了解决访问时间和服务器压力的问题,然后用到了文件缓存,缓存是以牺牲实时性来换取速度和减轻压力,具体是浏览器访问网站的时候,先检查缓存有没有过期(比如24小时),如果没过期就直接返回缓存,过期就向远程服务器重新采集,然后缓存。
怎么检查缓存有没有过期呢?
这里需要用到php的一个文件操作函数filemtime,这个函数可以返回文件上次被修改的时间,出错时返回FALSE。时间以Unix时间戳的方式返回,可用于date()。
$fmtime = filemtime("log.txt"); echo "log.txt上次修改时间:".date("Y-m-d H:i:s", $fmtime);
获取到文件上次被修改的时间戳,然后和当前时间比较,判断缓存是否过期。
推荐文章