uwsgi_cache_valid

Задает длительность кэширования ответов в NGINX при кэшировании UWSGI в зависимости от HTTP-статуса. — NGINX HTTP Core

uwsgi_cache_valid
httpserverlocation
Синтаксисuwsgi_cache_valid code time;
По умолчаниюnone
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1+

Описание

Директива `uwsgi_cache_valid` используется в контекстах HTTP, server и location для определения того, как долго определённые коды HTTP-ответов должны кэшироваться при использовании кэширования UWSGI. Директива позволяет администраторам задавать разные времена кэширования для различных кодов статуса ответа, что помогает оптимизировать доставку контента за счёт снижения нагрузки на upstream servers. Это особенно полезно для динамического контента, когда некоторые ответы стабильнее других. При настройке этой директивы можно задать одну или несколько пар `code` и `time`. Каждая пара указывает, что ответы с конкретным HTTP-кодом статуса должны кэшироваться в течение времени, указанного в параметре time. Значения времени можно задавать в секундах или с суффиксами, такими как 'm' для минут или 'h' для часов. Например, `200 10m` кэширует все ответы со статусом 200 в течение 10 минут. Ответы со статусом, не указанным в директиве, кэшироваться не будут. Эта директива полезна в сочетании с директивой `uwsgi_cache`, которая включает кэширование ответов UWSGI. Тонкая настройка длительности кэширования для разных ответов позволяет улучшить производительность сервера и сократить потребление пропускной способности, что приводит к более быстрому времени отклика для пользователей.

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

uwsgi_cache_valid 200 30m;
uwsgi_cache_valid 404 1m;
uwsgi_cache_valid 500 5m;

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

Ответы от upstream‑серверов следует протестировать, чтобы убедиться, что кэшируемые коды ответов действительно устанавливаются корректно, поскольку неправильно настроенные бэкенд‑сервисы могут вызывать непредвиденное поведение.