我对消失缓存的工作有疑问。 我用我的apache web服务器安装了varnish缓存并正确配置了相同的内容,以便我可以通过varnish缓存访问网页。
问题在于,我创建了一个'test.php'页面,可以通过浏览器访问。我已经更改了页面的内容,并在通过浏览器再次访问同一页面后立即进行了更改。第二次显示更改的内容。为什么会这样?据我所知,第二次也应该显示旧内容(?);因为清漆缓存将保留一个镜头间隔的网页内容。 我需要更改任何设置吗?请指教。
谢谢。
答案 0 :(得分:2)
如果您每次刷新时都看到最新内容,那么您还没有正确设置清漆。
Varnish应位于与Apache不同的端口上,因此请确保您在清漆端口访问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标题,那么你知道它至少是通过清漆运行的。
答案 1 :(得分:2)
您在网页中设置的http标头可以决定是否对其进行缓存。关于此
,请阅读the varnish documentation答案 2 :(得分:0)
此线程看起来很旧。但是可以在消失的配置中找到该值,将 VARNISH_TTL
的值设置为# # Default TTL used when the backend does not specify one
VARNISH_TTL= 120
默认值为120秒,我相信您可以从那时开始更改它