scgi_cache_purge
`scgi_cache_purge` 指令允许根据指定的缓存键从 SCGI 缓存中移除缓存的内容。
NGINX Cache Purge module
·
httpserverlocation
语法scgi_cache_purge zone_name key;
默认值none
上下文http, server, location
参数1+
说明
scgi_cache_purge 指令是 NGINX Cache Purge 模块的一部分,该模块使得可以从 SCGI 缓存中清除缓存内容。此指令可以在 http、server 或 location 上下文中配置,且需要一个或多个参数来指定用于清除的缓存区和缓存键。该指令的主要用途是通过移除陈旧或过时的条目来保持缓存健康,确保用户接收最新的内容。
在使用 scgi_cache_purge 时,用户可以指定与缓存系统交互的方法,并可以基于发起清除请求的客户端的 IP 地址有条件地进行清除。例如,管理员可以设置该指令仅允许来自某些 IP 地址或网络的清除操作,从而通过防止未经授权的缓存清除来增强安全性。该指令与 NGINX 中更广泛的缓存机制集成,确保在收到清除请求时,与指定键关联的内容被有效地失效并从缓存中移除。
该指令还支持在清除操作完成后以不同的内容类型(HTML、JSON、XML 或 纯文本)进行响应,有助于将其无缝集成到可能需要操作确认的 API 工作流或 Web 应用中。
配置示例
location /purge {
scgi_cache_purge my_cache_zone $uri;
allow 192.168.1.0/24; # Allow purging from this IP range.
deny all; # Deny all other requests.
}⚠
确保对 IP 地址进行适当的过滤以避免未经授权的清除操作。
⚠
请记住,键必须与存储内容时使用的缓存键匹配;否则,清除将不会生效。
⚠
要使 scgi_cache_purge 指令正常工作,需要正确配置;配置错误可能导致缓存未按预期被清除。