Mik*_*ord 3 configuration varnish
在设置我的 default.vcl 文件(Varnish 3)时,我看到 vcl_fetch 使用 beresp.grace 或 obj.grace 的不同建议。有什么不同?
https://www.varnish-cache.org/docs/3.0/reference/vcl.html obj.grace 对象的宽限期(以秒为单位)。obj.grace 是可写的。beresp.grace 设置为启用宽限的句点。
听起来几乎一样。
它们是否应该像https://www.varnish-software.com/static/book/Saving_a_request.html一样一起使用 ,设置 beresp.ttl=1m;设置req.grace = 30s;设置 beresp.grace = 1h;
我想要一些澄清。关于 ttl 的想法也很有用。遗憾的是,许多文档仍然适用于 V2: http ://drupal.org/node/1823970
两者在VCL代码中的不同位置使用。
用一些典型的(V3)使用例子,区别就在于此。(用 obj 代替 req)。
sub vcl_fetch {
set beresp.grace = 1h;
}
Run Code Online (Sandbox Code Playgroud)
此代码告诉 varnish 将缓存对象标记为可供使用长达 1 小时。
而这段代码:
sub vcl_recv {
if (req.backend.healthy) {
set req.grace = 30s;
} else {
set req.grace = 1h;
}
}
Run Code Online (Sandbox Code Playgroud)
...告诉 varnish在指定的时间内使用标记的对象,基于(在本例中)后端是否健康。
TTL 是项目缓存的时间,除非您有一些非常特殊(或奇怪)的要求,否则最好在应用程序或 Web 服务器层中设置缓存标头。
唯一需要在 VCL 中设置 TTL 的情况是,如果您想要与标头不同的内容,或者需要静默(不向请求浏览器传递任何标头)延长对象的缓存时间。
| 归档时间: |
|
| 查看次数: |
3303 次 |
| 最近记录: |