Назад | Перейти на главную страницу

Максимальное значение «set beresp.ttl» для лака

Я пытаюсь установить 100 дней = 144000 м 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);

ttl является внутренним числом с плавающей запятой, где 0 означает эпоху UNIX. Обычно он может хранить до 3,402823e + 38 или около того, что соответствует примерно 10 ^ 31 году, хотя и с некоторой потерей точности по мере удаления от эпохи.

Если страницы удаляются из кеша, я бы посмотрел, как они удаляются ("LRU nuked" в varnishstat) вместо этого. Вы также можете просто записать 100 дней как «100d», а не считать минуты.