有没有办法更新浏览器缓存而不是清除它。

时间:2016-09-21 09:42:57

标签: php browser-cache

在我的一个项目中,我致力于提高页面速度。

我使用.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>

此代码的问题是添加新数据时数据未在页面中反映的代码。

当新数据被输入数据库时​​,有没有办法更新缓存。

1 个答案:

答案 0 :(得分:0)

一个技巧是为您的网址添加计数参数,例如

http://mysite.mydomain.com/test.ico?count=1

Web服务器将忽略count参数,但它将存储在浏览器缓存中。更改图像时更新计数值,它将被重新加载。您甚至可以使用日期/时间戳(使用文件创建日期)并自动完成整个过程。