uwsgi_cache_bypass
uwsgi_cache_bypass 指令控制在何种条件下跳过对 uWSGI 响应的缓存。
NGINX HTTP Core
·
httpserverlocation
语法uwsgi_cache_bypass condition | condition ...;
默认值none
上下文http, server, location
参数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 以绕过缓存;否则将发生缓存。
⚠
使用过多的条件,如果管理不当,可能导致性能下降,因为这会为请求处理增加开销。