uwsgi_cache_methods

Директива uwsgi_cache_methods задаёт, какие HTTP-методы должны кэшироваться uWSGI-кэшем. — NGINX HTTP Core

uwsgi_cache_methods
httpserverlocation
Синтаксисuwsgi_cache_methods method1 [method2 ...];
По умолчаниюGET HEAD
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1+

Описание

Директива `uwsgi_cache_methods` является частью механизма кэширования uWSGI в NGINX, который позволяет указать, какие именно HTTP-методы следует кэшировать. По умолчанию кэширование применяется только к GET и HEAD-запросам, но с помощью этой директивы можно добавлять другие методы, указывая их в качестве аргументов. Такая гибкость важна в приложениях, где POST или другие методы возвращают ответы, которые также целесообразно кэшировать для повышения производительности без чрезмерной нагрузки на сервер. Директива допускает один или несколько аргументов — это имена методов, такие как 'GET', 'HEAD', 'POST' и т.д. Они чувствительны к регистру и должны быть указаны точно, чтобы работать. Помимо управления тем, какие методы можно кэшировать, она предоставляет способ тонкой настройки поведения кэша в соответствии с характеристиками приложения, позволяя сбалансировать скорость и актуальность данных, предоставляемых пользователям. После указания методов кэширования NGINX будет сохранять в кэше только ответы, сформированные для этих HTTP-методов в соответствии с директивой; ответы для остальных методов в кэш не будут помещаться. Контекстами, в которых может использоваться эта директива, являются `http`, `server` и `location`. Такая гибкость означает, что кэширование можно точно контролировать на уровне конкретного развертывания, позволяя администраторам настраивать поведение кэша в зависимости от конкретных обстоятельств.

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

uwsgi_cache_methods POST PUT;

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

Помните, что поведение кэширования также может зависеть от других директив, таких как `uwsgi_cache_bypass` и `uwsgi_cache_use_stale`.