fastcgi_cache_bypass
`fastcgi_cache_bypass` 指令允许您指定在何种条件下应绕过 FastCGI 缓存。 — NGINX HTTP Core
fastcgi_cache_bypass
httpserverlocation
语法fastcgi_cache_bypass condition;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+
说明
`fastcgi_cache_bypass` 指令是 NGINX HTTP 模块的一部分,用于控制 FastCGI 缓存机制。配置该指令时,可指定一个或多个条件(变量或客户端请求属性),用于决定何时 NGINX 应跳过缓存的响应并从上游服务器获取新的响应。它在需要根据请求或某些条件(例如特定的头、cookie 或查询参数)确保向客户端返回最新数据而不是缓存数据的场景中尤其有用。 该指令可以在 `http`、`server` 或 `location` 上下文中设置,提供了应用范围的灵活性。通常,你会使用像 `$arg_argname` 这样的变量来引用特定的查询参数,使用 `$http_cookie` 来处理 cookie,或者使用自定义的应用专用头来构造合适的绕过条件。它可以通过在适当情况下允许返回过期数据来优化资源使用,同时在必要时确保提供最新数据。 当与其他与 FastCGI 缓存相关的指令(例如 `fastcgi_cache` 和 `fastcgi_cache_key`)组合使用时,它可以提供一种强健的缓存策略,以在提升性能的同时根据用户交互和数据敏感性保持内容的新鲜度。
配置示例
location / {
fastcgi_pass backend;
fastcgi_cache my_cache;
fastcgi_cache_bypass $http_cache_bypass;
}⚠
确保指定的条件与预期的请求属性正确匹配;否则,缓存可能无法在需要时被绕过。
⚠
使用过多的条件可能导致性能问题,因为会产生过多的缓存未命中并增加后端服务器的负载。