fastcgi_cache_use_stale
`fastcgi_cache_use_stale` 指令控制是否在特定情形下返回过期的缓存响应,例如当上游服务器宕机或请求超时时。 — NGINX HTTP Core
fastcgi_cache_use_stale
httpserverlocation
语法fastcgi_cache_use_stale error | timeout | invalid_header | updating;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+
说明
`fastcgi_cache_use_stale` 指令允许 NGINX 在特定条件下提供过期的缓存响应,通过在服务器出现问题时减少停机或延迟来改善用户体验和性能。你可以为多种情形启用此指令,包括 'error'、'timeout'、'invalid_header' 或 'updating'。当请求遇到这些问题时,NGINX 可以不返回错误,而是提供最近一次成功缓存的响应。这种行为对于需要在后端服务出现临时问题时仍维持用户参与度的高可用部署尤其有用。 该指令可以在多个上下文中指定:`http`、`server` 和 `location`,因此在不同配置中很灵活。你提供的每个参数都必须指定在何种情形下应返回过期数据。如果指定了多个条件,只要满足其中任何一个条件就会返回过期内容。该指令与 `fastcgi_cache` 指令配合工作,有效增强了缓存机制的鲁棒性,从而减轻上游中断或响应缓慢对客户端体验的影响。
配置示例
location /api {
fastcgi_pass backend;
fastcgi_cache my_cache;
fastcgi_cache_use_stale error timeout;
}⚠
应谨慎管理陈旧的响应,以确保不会向用户提供过时或不正确的数据。
⚠
在没有适当的缓存过期和失效策略的情况下使用此指令可能导致陈旧数据问题。
⚠
请确保所指定的使用场景与您的应用需求相关。例如,在所有错误情况下都提供陈旧数据可能并不适合所有应用。