uwsgi_cache_bypass
uwsgi_cache_bypass 指令控制在何种条件下跳过对 uWSGI 响应的缓存。 — NGINX HTTP Core
uwsgi_cache_bypass
httpserverlocation
语法uwsgi_cache_bypass condition | condition ...;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+
说明
`uwsgi_cache_bypass` 指令在 NGINX 中用于指定导致跳过已缓存 uWSGI 响应的具体条件。这在某些请求不应获取缓存内容的场景中特别有用,可确保在不受缓存干扰的情况下提供最新的数据。您可以为该指令指定一个或多个参数,这些参数可以是用户定义的变量或基于 HTTP 头或其他请求属性的条件。 该指令可以放在 `http`、`server` 或 `location` 上下文中,并支持一个或多个参数。每个参数表示一个条件或变量,当其计算为真时,会触发缓存系统为该请求跳过缓存响应。例如,您可以将 `uwsgi_cache_bypass` 配置为避免对已认证用户进行缓存,或在请求中存在特定查询参数时禁止缓存。 此外,该指令与其他与缓存相关的指令(例如 `uwsgi_cache` 和 `uwsgi_cache_key`)协同工作。将 `uwsgi_cache_bypass` 与这些指令正确配合使用可以微调缓存行为,更好地满足您的应用需求,使开发者能够控制何时不使用缓存,从而提供更具动态性的内容交付。
配置示例
location /api {
uwsgi_pass backend;
uwsgi_cache my_cache;
uwsgi_cache_bypass $arg_bypass;
}⚠
请确保您指定的任何条件确实求值为 true 以绕过缓存;否则将发生缓存。
⚠
使用过多的条件,如果管理不当,可能导致性能下降,因为这会为请求处理增加开销。