【发布时间】:2016-09-21 09:42:56
【问题描述】:
在我的一个项目中,我正在努力提高页面速度。
我使用 .htaccess 文件来启用浏览器缓存。下面是一段代码。
# 1 YEAR = 29030400
<FilesMatch "\.(ico|pdf|flv)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
# 1 WEEK = 604800
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 2 DAYS = 172800
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>
# 1 MIN = 60
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate, must-revalidate"
</FilesMatch>
此代码的问题是,当添加新数据时,数据不会反映在页面中。
当有新数据插入数据库时,有什么方法可以更新缓存。
【问题讨论】:
-
不,没有。这与缓存的想法背道而驰。缓存某些东西意味着您可以节省所有精力来检查给定时间段内是否发生了变化,并相信这样做是可以的。这就是缓存控制的用途。缓存和仍然检查事情是否发生了变化是没有意义的。这意味着仍然必须投入精力。
标签: php browser-cache