srcache_fetch_skip

Директива `srcache_fetch_skip` задаёт условия, при которых кеширование подзапросов пропускается.

Синтаксисsrcache_fetch_skip condition;
По умолчаниюnone
Контекстhttp, server, location, if in location
Аргументы1

Описание

Директива srcache_fetch_skip используется для управления поведением кеширования подзапросов в модуле NGINX srcache. Задав выражение для этой директивы, вы можете указать конкретные условия, при выполнении которых кеширование ответов в ходе подзапросов будет предотвращено. Эта директива особенно полезна, когда кеширование ответов нежелательно в определённых ситуациях, например при конкретных параметрах запроса или заголовках, которые могут изменить содержимое ответа.

Директива принимает один аргумент — действительную переменную или выражение NGINX. Если вычисленное выражение возвращает истинное значение, механизм кеширования пропустит обращение к кешу для этого запроса. Это особенно полезно в сценариях, когда вы хотите позволить некоторым запросам обходить кеш, а другим — кешироваться как обычно.

В сочетании с другими директивами кеширования, такими как srcache_fetch, srcache_store и другими, srcache_fetch_skip обеспечивает тонкий контроль над стратегией и поведением кеширования, позволяя оптимизировать производительность и одновременно корректно обрабатывать динамическое содержимое. Правильная реализация этой директивы может привести к значительному увеличению производительности за счёт уменьшения числа обращений к устаревшим записям кеша в ситуациях, когда содержимое часто изменяется и требует получения в реальном времени с upstream-источника.

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

location /example {
    srcache_fetch_skip $arg_no_cache;
    srcache_fetch your-fetch-conditions;
}

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

Будьте внимательны к области видимости переменных, используемых в условии; убедитесь, что они доступны в контексте запроса.

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

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