fastcgi_cache

Директива fastcgi_cache включает кэширование ответов от серверов FastCGI для повышения производительности веб-приложений. — NGINX HTTP Core

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

Описание

Директива `fastcgi_cache` задает зону общей памяти, используемую для хранения ответов FastCGI, фактически кэшируя их, чтобы снизить нагрузку на сервер и ускорить время ответа для часто запрашиваемого контента. Когда сервер FastCGI формирует ответ, он может кэшироваться на основе параметров запроса, что позволяет последующим идентичным запросам обслуживаться из кэша вместо повторного формирования ответа через обращение к бэкенд-серверу. Директива требует аргумента — имени зоны кэша, которая предварительно определяется с помощью директивы `fastcgi_cache_path`. Её можно использовать в различных контекстах, таких как блоки `http`, `server` и `location`, что позволяет осуществлять точечный контроль над тем, как разные локации обрабатывают кэширование. В сочетании с сопутствующими директивами, такими как `fastcgi_cache_key`, администраторы могут определить, что считается уникальной записью в кэше, тем самым настраивая поведение механизма кэширования под потребности приложения. Поведение кэширования также определяется связанными директивами, такими как `fastcgi_cache_valid`, которая задаёт время, в течение которого записи в кэше считаются действительными, и `fastcgi_cache_bypass`, позволяющая динамически управлять обходом кэша, что обеспечивает возможность предоставления обновлённых данных, когда это необходимо.

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

http {
    fastcgi_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m;
    server {
        location / {
            fastcgi_pass backend;
            fastcgi_cache my_cache;
            fastcgi_cache_valid 200 1h;
        }
    }
}

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

Будьте осторожны с инвалидацией кэша; устаревшие данные могут быть выданы, если конфигурация выполнена неправильно.

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