fastcgi_cache_purge
fastcgi_cache_purge 指令允许清除 FastCGI 缓存中的已缓存内容。
NGINX Cache Purge module
·
httpserverlocation
语法fastcgi_cache_purge on | off | [purge_all] [from all | [.. ]]
默认值none
上下文http, server, location
参数1+
说明
fastcgi_cache_purge 指令是 NGINX Cache Purge 模块的一部分,允许管理员根据缓存键从 FastCGI 缓存中移除特定条目。这对于可能频繁变化、需要在不完全清空整个缓存的情况下更新缓存的动态内容尤其有用。该指令可以配置在多种上下文中运行,包括 http、server 和 location,从而允许在 NGINX 配置的不同作用域中灵活应用。
该指令的语法允许你指定方法(GET 或 POST)、是否可以清除所有缓存条目,以及基于特定 IP 地址或网段限制清除操作。缓存机制允许在键中使用通配符,从而可以通过一次请求移除多个相关的缓存条目。例如,发送对 /page* 的清除请求将针对所有以 /page 开头的页面相关缓存条目。有效使用该指令需要谨慎考虑访问控制,因为不慎允许清除操作可能导致意外的缓存失效。
此外,该指令可以返回不同类型的响应(HTML、JSON、XML 或纯文本)来指示清除操作的成功或失败,这些类型可以通过 cache_purge_response_type 指令进行配置。从 API 或用户界面的角度,这有助于更好地区分操作结果。
配置示例
http {
fastcgi_cache_purge on;
location /purgeme {
fastcgi_cache_purge fastcgi_cache_zone $request_uri;
}
}⚠
确保在 'from' 中指定的 IP 地址或范围准确;如果设置不正确,可能允许未经授权的用户清除缓存。
⚠
在缓存键中使用通配符,如果配置不当,可能导致意外的缓存失效。
⚠
清除缓存需要对用户权限给予高度重视;未经授权的用户不应具有清除缓存的权限。