scgi_cache_background_update
`scgi_cache_background_update` 指令启用对 SCGI 响应的后台缓存更新。 — NGINX HTTP Core
scgi_cache_background_update
httpserverlocation
语法scgi_cache_background_update on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag
说明
`scgi_cache_background_update` 指令控制当请求已过期的缓存条目时 NGINX 是否应向上游服务器发起请求。如果设置为 'on',当缓存条目已过期时,NGINX 仍会将该过期条目返回给客户端,同时在后台从上游服务器获取一份新的副本,从而改善响应时间并保证下一次请求能获得新鲜数据。相反,如果设置为 'off',NGINX 只会返回该过期条目,直到它再次变为有效,而不会在后台更新。这对于降低对经常访问但不常变动的资源的请求延迟尤其有用。要使用此指令,可在 `http`、`server` 或 `location` 上下文中设置。根据应用的需求,启用后台缓存更新可以通过最小化获取新数据的等待时间,显著改善感知性能和用户体验。但在启用此功能时必须考虑上游服务器的负载,因为多个后台请求可能会导致上游服务的利用率升高,尤其在高流量情况下。
配置示例
location /app {
scgi_pass 127.0.0.1:9000;
scgi_cache scgi_cache;
scgi_cache_background_update on;
}⚠
启用后台更新可能会导致上游服务器负载增加,尤其是在多个客户端同时请求过期条目时。
⚠
确保缓存键配置正确,以避免无意间提供过时的数据。