gpt4 book ai didi

configuration - beresp.grace 和 obj.grace 有什么区别

转载 作者:行者123 更新时间:2023-12-03 17:45:04 25 4
gpt4 key购买 nike

在设置我的 default.vcl 文件 (Varnish 3) 时,我看到了对 vcl_fetch 使用 beresp.grace 或 obj.grace 的不同建议。有什么区别?

https://www.varnish-cache.org/docs/3.0/reference/vcl.html对象恩典 对象的宽限期(以秒为单位)。 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;
}

此代码告诉 Varnish 将缓存对象标记为可用长达 1 小时。

而这段代码:

sub vcl_recv {
if (req.backend.healthy) {
set req.grace = 30s;
} else {
set req.grace = 1h;
}
}

...告诉 Varnish 使用标记的对象直到指定的时间,基于(在这种情况下)后端是健康的。

TTL 是缓存项的时长,除非您有一些非常特殊(或奇怪)的要求,否则最好在您的应用程序或网络服务器层中设置缓存 header 。

唯一需要在 VCL 中设置 TTL 的情况是,如果您想要与 header 不同的东西,或者如果您需要静默(不将任何 header 传递给请求浏览器)延长对象可以被缓存的时间。

关于configuration - beresp.grace 和 obj.grace 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15833863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com