Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Varnish cache—页面的缓存时间有多长?_Php_Apache_Caching_Varnish_Varnish Vcl - Fatal编程技术网

Php Varnish cache—页面的缓存时间有多长?

Php Varnish cache—页面的缓存时间有多长?,php,apache,caching,varnish,varnish-vcl,Php,Apache,Caching,Varnish,Varnish Vcl,我对“消失缓存”的工作方式有疑问。 我用ApacheWeb服务器安装了varnish缓存,并正确配置了它,这样我就可以通过varnish缓存访问网页 问题是,我已经创建了一个“test.php”页面,可以通过浏览器访问。我已经更改了页面内容,并立即通过浏览器再次访问同一页面。第二次显示更改的内容。为什么会这样?据我所知,第二次也应该显示旧的内容(?);因为varnish缓存将在快照间隔内保留网页内容。 是否有任何设置需要更改?请给我一些建议 谢谢。如果您每次刷新时都看到最新的内容,则说明您没有正

我对“消失缓存”的工作方式有疑问。 我用ApacheWeb服务器安装了varnish缓存,并正确配置了它,这样我就可以通过varnish缓存访问网页

问题是,我已经创建了一个“test.php”页面,可以通过浏览器访问。我已经更改了页面内容,并立即通过浏览器再次访问同一页面。第二次显示更改的内容。为什么会这样?据我所知,第二次也应该显示旧的内容(?);因为varnish缓存将在快照间隔内保留网页内容。 是否有任何设置需要更改?请给我一些建议


谢谢。

如果您每次刷新时都看到最新的内容,则说明您没有正确设置varnish

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标头在决定是否缓存它们方面起着重要作用。阅读此内容

此线程看起来很旧。但是这个值可以在消失配置中找到,设置VARNISH\u TTL的值

# # Default TTL used when the backend does not specify one
VARNISH_TTL= 120
默认值是120秒,我相信您可以从这一点更改它