我对消失缓存的工作有疑问。我用我的 apache 网络服务器安装了清漆缓存并正确配置了它,这样我就可以通过清漆缓存访问网页。
问题就在这里,我创建了一个“test.php”页面,可以通过浏览器访问。我已经更改了页面的内容,并立即再次通过浏览器访问了同一页面。第二次显示更改的内容。为什么会这样?据我所知,第二次也应该显示旧内容(?);因为清漆缓存将保留网页内容一段时间。我需要更改任何设置吗?请指教。
谢谢你。
我对消失缓存的工作有疑问。我用我的 apache 网络服务器安装了清漆缓存并正确配置了它,这样我就可以通过清漆缓存访问网页。
问题就在这里,我创建了一个“test.php”页面,可以通过浏览器访问。我已经更改了页面的内容,并立即再次通过浏览器访问了同一页面。第二次显示更改的内容。为什么会这样?据我所知,第二次也应该显示旧内容(?);因为清漆缓存将保留网页内容一段时间。我需要更改任何设置吗?请指教。
谢谢你。
如果您每次刷新时都看到最新的内容,那么您没有正确设置清漆。
Varnish 应该位于与 Apache 不同的端口上,因此请确保您在 varnish 端口上访问 test.php。
你可以把它放在你的配置中,看看它是否正在缓存..
sub vcl_deliver {
# Add a header to indicate a cache HIT/MISS
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
return (deliver);
}
如果您看到 X-Cache 标头,那么您知道它至少是通过清漆运行的。
您在页面中设置的 http 标头在决定是否缓存它们方面发挥着重要作用。阅读有关此的清漆文档
这个线程看起来很旧。但是这个值可以在 vanish config 中找到,设置VARNISH_TTL的值
# # Default TTL used when the backend does not specify one
VARNISH_TTL= 120
默认值为 120 秒,我相信您可以从那时起更改它