srcache_fetch_skip
Директива `srcache_fetch_skip` задаёт условия, при которых кеширование подзапросов пропускается.
Описание
Директива 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.