fastcgi_no_cache

Директива `fastcgi_no_cache` управляет тем, кэшировать ли ответы от приложений FastCGI на основе указанных условий. — NGINX HTTP Core

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

Описание

Директива `fastcgi_no_cache` используется, чтобы указать NGINX, следует ли кэшировать ответы от FastCGI-серверов, таких как обработчики PHP. Эта директива принимает одну или несколько переменных или условий, определяющих правила кэширования. Например, если значение указанной переменной истинно, NGINX не кэширует ответ, что позволяет генерировать динамический контент без задержек, вызванных попаданиями в кэш. Она работает совместно с директивой `fastcgi_cache_bypass` для обеспечения согласованного поведения кэширования на основе похожих условий. Директива должна быть задана в контексте `http`, `server` или `location` в конфигурационном файле NGINX и обычно используется вместе с настройками кэширования для достижения оптимальной производительности. Она особенно полезна в приложениях, где требуется инвалидировать кэш в определённых обстоятельствах, например, когда пользователь вошёл в систему, или содержимое ответа значительно меняется в зависимости от параметров запроса. Эффективно управляя динамическим контентом, `fastcgi_no_cache` помогает поддерживать актуальность данных приложения и улучшает пользовательский опыт в веб-приложениях.

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

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_no_cache $http_cache_control;
}

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

Использование неправильных имён переменных может привести к непредсказуемому поведению кэша или неверным ответам.