旧内容出现在网站上。自动清除缓存?

时间:2009-09-09 19:39:55

标签: caching browser

我有一个定期更新的网站,我遇到一个问题,即旧内容显示在页面上。可以通过刷新几次或清除缓存来修复它。我正在寻找解决方案,因此PC上不存储任何数据,并且每次都强制刷新站点。也许是一个自动缓存清晰插件或类似的东西?有什么想法吗?

4 个答案:

答案 0 :(得分:4)

这听起来似乎是一个好主意,但您希望将来支持多少用户?

我问,因为如果每个请求都应该在每个时间完全刷新,那么您的Web服务器上会有很多流量。而且,您的用户将开始抱怨页面加载时间。

在yslow和firebug等工具的帮助下,我们试图分析可以缓存的页面部分和不能缓存的页面部分。冰山一角,但是......

支持网站布局的图片 - 背景,按钮等应该缓存很长时间。它们在IIS标记的文件夹树中进行了很长时间的缓存。它们可以由CDN长期提供。如果必须更改,我们上传新文件的新文件。

脚本/ CSS和其他可能更改的内容会进入另一个缓存持续时间较短的文件夹。如果我们必须修复错误,这可能是一个问题,但如果需要,再次上传一个带有新名称的新文件。

任何数据驱动的(我们的应用程序都是目录)都是本地化的,每次都会刷新。

这仍然是我们正在进行中的工作,但我们看到的服务器流量减少了很多,页面加载时间也大了很多。

我希望这有帮助!

答案 1 :(得分:2)

尝试将其放入头标记

<meta http-equiv="cache-control" content="no-cache">

编辑只是一个注释,这不会强制浏览器不缓存它,但大多数浏览器都会监听

答案 2 :(得分:1)

使用这个,我的儿子

<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="0">

答案 3 :(得分:0)

我建议你试试这个,当我的代码还在生产中时我用这种方式

<link rel="stylesheet" href="styel.css?v=<?= time(); ?>">

但是当你准备好进入实时模式时,把你的 css 的最新版本,或者任何你想要的像 ?v=1.1

希望对你有帮助