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


Is there any way to update browser cache instead of clearting it.?

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

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

这个代码的问题是每当添加新数据时,数据没有反映在页面上。

当新数据插入数据库时,是否有办法更新缓存

一个技巧是在url中添加计数参数,例如

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

count参数将被web服务器忽略,但它将被存储在浏览器缓存中。每当您更改图像时更新计数值,它将被重新加载。您甚至可以使用日期/时间戳(与文件创建日期一起)并自动执行整个操作。