uwsgi_cache_bypass

Директива uwsgi_cache_bypass определяет условия, при которых кэширование для ответов uWSGI пропускается. — NGINX HTTP Core

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

Описание

Директива `uwsgi_cache_bypass` в NGINX используется для задания конкретных условий, при которых происходит обход кэшированного ответа uWSGI. Это особенно полезно в сценариях, когда определённые запросы не должны получать кэшированный контент, что позволяет отдавать наиболее актуальные данные без вмешательства кэша. Для директивы можно задать один или несколько параметров, которые могут быть пользовательскими переменными или условиями, основанными на HTTP-заголовках или других атрибутах запроса. Директиву можно размещать в контекстах `http`, `server` или `location`; она поддерживает один или несколько аргументов. Каждый аргумент представляет собой условие или переменную, которое при вычислении в true приведёт к тому, что система кэширования пропустит кэшированный ответ для данного запроса. Например, можно настроить `uwsgi_cache_bypass`, чтобы избегать кэширования для аутентифицированных пользователей или когда в запросе присутствуют определённые параметры строки запроса. Кроме того, эта директива работает в сочетании с другими директивами, связанными с кэшированием, такими как `uwsgi_cache` и `uwsgi_cache_key`. Правильное использование `uwsgi_cache_bypass` вместе с этими директивами позволяет тонко настроить поведение кэша в соответствии с требованиями вашего приложения, давая разработчикам возможность контролировать случаи, когда кэш не должен использоваться, что обеспечивает более динамичную доставку контента.

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

location /api {
    uwsgi_pass backend;
    uwsgi_cache my_cache;
    uwsgi_cache_bypass $arg_bypass;
}

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

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