将 beresp.ttl 设置为 0 是否会替换以前的缓存



我有这个问题,我使用 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用给定的错误替换旧缓存。我的意思是,如果我的后端关闭,我不希望 Varnish 返回缓存错误(我已经设置了宽限模式)。

所以,我的问题是,在设置 beresp.ttl = 0s 时,清漆是否会替换为宽限模式存储的对象;

好吧,我刚刚做了一些测试,Varnish 不会替换缓存的对象。

最新更新