【问题标题】:Is there any way to update browser cache instead of clearting it.?有没有办法更新浏览器缓存而不是清除它。?
【发布时间】: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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2015-11-04
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 2015-06-28
    • 1970-01-01
    相关资源
    最近更新 更多