设置beresp.ttl 为0s 是否会替换之前的缓存?
Does setting beresp.ttl to 0s replace previous cache?
我有这个问题,我使用 Varnish 3.0,我想避免缓存错误。我知道这段代码应该可以做到:
if (beresp.status >= 500) {
set beresp.saintmode = 2m;
if (req.request != "POST") {
set beresp.ttl = 0s;
return(restart);
} else {
set beresp.ttl = 1s;
error 500 "Failed";
}
}
但是,我担心的是清漆用给定的错误替换旧缓存。我的意思是,如果我的后端关闭(我设置了宽限模式),我不希望 Varnish return 缓存错误。
所以,我的问题是 Varnish 是否在设置 beresp.ttl = 0s 时替换为宽限模式存储的对象;
好吧,我刚刚做了一些测试,Varnish 不会替换缓存的对象。
我有这个问题,我使用 Varnish 3.0,我想避免缓存错误。我知道这段代码应该可以做到:
if (beresp.status >= 500) {
set beresp.saintmode = 2m;
if (req.request != "POST") {
set beresp.ttl = 0s;
return(restart);
} else {
set beresp.ttl = 1s;
error 500 "Failed";
}
}
但是,我担心的是清漆用给定的错误替换旧缓存。我的意思是,如果我的后端关闭(我设置了宽限模式),我不希望 Varnish return 缓存错误。
所以,我的问题是 Varnish 是否在设置 beresp.ttl = 0s 时替换为宽限模式存储的对象;
好吧,我刚刚做了一些测试,Varnish 不会替换缓存的对象。