Varnish 最大“set beresp.ttl”值

Varnish 最大“set beresp.ttl”值

我正在尝试为某个页面的 Varnish 缓存设置 100 天 = 144000m ttl,但我发现 Varnish 正在清除缓存页面。

那么问题是我可以设置的最大 ttl 是多少

if ((req.url ~ "\.(html)$") && (beresp.ttl > 0s)) {
   unset beresp.http.cache-control;
   unset beresp.http.expires;
   unset beresp.http.cookie;
   set beresp.do_gzip = true;
   set beresp.http.Cache-Control = "public, max-age=14411, s-maxage=14411";
   remove beresp.http.Pragma;
   set beresp.ttl = 144000m;
   return(deliver);

答案1

ttl内部是一个浮点数,其中 0 表示 UNIX 纪元。它通常可以存储最多 3.402823e+38 左右,相当于 10^31 年左右,不过,如果离纪元较远,精度会有所损失。

如果页面从缓存中被逐出,我会将其视为被删除(“LRU nuked” varnishstat)。您可能还想将 100 天写为“100d”,而不是计算分钟数。

相关内容