uwsgi_cache

Директива uwsgi_cache задаёт общий кэш для ответов от uWSGI.

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

Описание

Директива uwsgi_cache используется в конфигурации NGINX для определения зоны кэша, которая хранит ответы от приложений uWSGI, повышая производительность приложений за счёт сокращения времени отклика. Каждый раз, когда NGINX отправляет запрос на upstream uWSGI сервер и получает ответ, этот ответ может быть сохранён в указанном кэше для последующих запросов. Это обеспечивает более быстрые ответы на повторные запросы, которые обычно инициировали бы обработку uWSGI-приложением, позволяя выдавать кэшированные ответы напрямую из NGINX вместо многократного вызова самого приложения.

Директива принимает один аргумент — имя зоны кэша, ранее определённой с помощью директивы uwsgi_cache_path. Поведение кэша также можно контролировать с помощью других директив, таких как uwsgi_cache_key, uwsgi_cache_valid и uwsgi_cache_bypass, среди прочих. Правильная настройка этих дополнительных директив необходима для эффективного управления записями в кэше и контроля времени жизни кэшированных данных в зависимости от типа ответа или условий запроса.

Важно отметить, что функции кэширования опираются на заголовки ответа, возвращаемые приложением uWSGI, чтобы определить, следует ли кэшировать содержимое и как долго хранить ответы. Стратегии кэширования могут существенно повысить производительность при высокой нагрузке веб-приложений, особенно при интенсивном трафике.

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

http {
    uwsgi_cache_path /tmp/uwsgi_cache levels=1:2 keys_zone=uwsgi_cache:10m inactive=60m;
    server {
        location /api {
            include uwsgi_params;
            uwsgi_pass uWSGI_backend;
            uwsgi_cache uwsgi_cache;
            uwsgi_cache_valid 200 30m;
        }
    }
}

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

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

Будьте осторожны при кэшировании конфиденциальных данных, которые не следует разглашать.

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

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