uwsgi_cache_purge
Директива `uwsgi_cache_purge` позволяет очищать кэшированные ответы из кэша uWSGI на основе указанных ключей.
Описание
Директива uwsgi_cache_purge является частью модуля NGINX Cache Purge и позволяет удалять конкретные кэшированные ответы из системы кэша uWSGI. Эта директива может быть настроена в контекстах http, server или location и требует по меньшей мере один аргумент: имя зоны кэша и ключ, однозначно идентифицирующий кэшируемое содержимое. Когда поступает запрос на очистку, NGINX ищет кэшированные записи, соответствующие указанному ключу, и удаляет их, тем самым гарантируя, что следующий запрос по этому ключу получит свежие данные от upstream-сервера вместо устаревшего кэша.
Синтаксис этой директивы похож на синтаксис других директив очистки кэша в NGINX, таких как proxy_cache_purge и fastcgi_cache_purge. Пользователи могут указать разрешённые методы для очистки, контролировать доступ по IP-адресу или подсети и определить, нужно ли очищать все элементы кэша. Для выполнения операции очистки запрос обычно должен использовать соответствующий HTTP-метод, который должен совпадать с методом, разрешённым в конфигурации для директивы очистки. Кроме того, вы также можете определить тип ответа для операции очистки, который может быть в формате HTML, XML, JSON или plain text, в зависимости от того, как вы хотите отобразить результат операции очистки.
Пример конфига
location /purge {
uwsgi_cache_purge my_cache $uri;
allow 192.168.1.0/24; # Allow purge from this subnet
deny all; # Deny all others
}Убедитесь, что слой кэширования правильно настроен для поддержки очистки; в противном случае он не будет работать должным образом.
При очистке по частичным ключам (using asterisk) убедитесь, что asterisk находится только в конце ключа; это критично для корректного сопоставления.
Контроль доступа (IP allow/deny) должен быть настроен внимательно, чтобы избежать непреднамеренной очистки кэша неавторизованными пользователями.