fastcgi_cache_valid

Определяет, как долго действительные кэшированные ответы сохраняются в кэше FastCGI.

Синтаксисfastcgi_cache_valid code time;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1+

Описание

Директива fastcgi_cache_valid задаёт период времени, в течение которого кэшированный ответ FastCGI считается действительным, то есть может быть отдан без повторного запроса к backend server. Эта директива принимает интервал времени и конкретный код ответа или диапазон кодов ответа. Например, использование fastcgi_cache_valid 200 10m; указывает, что ответ 200 OK будет кэшироваться в течение 10 минут. Можно указать несколько строк этой директивы, чтобы задать разные периоды действия для разных кодов ответа.

Важно отметить, что директива должна располагаться в соответствующем контексте, например в блоках http, server или location, и работает в сочетании с директивой fastcgi_cache. Когда отдается действительный кэш, директива fastcgi_cache_bypass может использоваться для условного обхода кэша. Это обеспечивает большую гибкость в поддержании актуального содержимого при необходимости, при этом сохраняя преимущества кэширования для повторяющихся запросов.

Пример конфига

fastcgi_cache my_cache;
fastcgi_cache_valid 200 10m;
fastcgi_cache_valid 404 1m;
⚠

Убедитесь, что fastcgi_cache определён перед использованием этой директивы.

⚠

Неправильная конфигурация может привести к тому, что устаревшие ответы из кэша будут выдаваться дольше, чем ожидаемый период их актуальности.

⚠

Ошибки кэширования могут возникнуть, если коды состояния указаны некорректно. Можно задать несколько настроек срока действия для разных кодов ответов.

← Ко всем директивам