uwsgi_cache_revalidate

Директива `uwsgi_cache_revalidate` управляет тем, будет ли NGINX повторно проверять кешированные ответы у сервера uWSGI перед их выдачей. — NGINX HTTP Core

uwsgi_cache_revalidate
httpserverlocation
Синтаксисuwsgi_cache_revalidate on | off;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументыflag

Описание

Директива `uwsgi_cache_revalidate` используется для управления тем, как обрабатываются кешированные ответы с точки зрения их свежести. Когда эта директива включена, NGINX отправляет запрос на повторную проверку серверу uWSGI для кешированных ответов, считающихся устаревшими. Это означает, что когда время истечения кешированного ответа (определяемое директивой `uwsgi_cache_valid`) прошло, вместо прямой выдачи NGINX проверит у сервера, по-прежнему ли содержимое актуально. Это помогает в ситуациях, когда содержимое часто обновляется, и обеспечивает пользователям максимально точные и актуальные ответы. Эта директива может применяться в разных контекстах, включая http, server и location, что позволяет реализовать гибкие стратегии кеширования для разных частей вашего приложения. Она принимает булев аргумент, включающий или отключающий процесс повторной проверки. Включение этой директивы может добавить некоторую нагрузку, поскольку требует дополнительного запроса к серверу uWSGI, однако обеспечивает согласованность данных и их свежесть для конечных пользователей. Использование `uwsgi_cache_revalidate` особенно полезно в окружениях, где данные приложения часто меняются и должны отражать эти изменения без длительного периода устаревания. Ее можно сочетать с другими директивами кеширования, такими как `uwsgi_cache`, `uwsgi_cache_key` и `uwsgi_cache_valid`, для создания комплексной конфигурации кеширования, отвечающей потребностям приложения.

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

uwsgi_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m;

location / {
    uwsgi_pass my_uwsgi;
    uwsgi_cache my_cache;
    uwsgi_cache_revalidate on;
    uwsgi_cache_valid 200 1h;
}

Включение повторной валидации может привести к дополнительной задержке из-за дополнительных запросов к серверу uWSGI.

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

Использование `uwsgi_cache_revalidate` без надлежащих стратегий инвалидации кэша может привести к несогласованному поведению приложения при неправильном управлении.