scgi_cache_valid
'scgi_cache_valid' 指令定义了缓存的 SCGI 请求响应被视为有效的时间段。 — NGINX HTTP Core
scgi_cache_valid
httpserverlocation
语法scgi_cache_valid code time;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+
说明
'scgi_cache_valid' 指令用于根据状态码配置 SCGI (Simple Common Gateway Interface) 响应的缓存行为。该指令允许管理员为不同的 HTTP 响应状态码指定不同的缓存时长,从而增强对缓存机制的控制。当响应被缓存时,指定的时间(以秒为单位)表示响应在被标记为过期并需要向上游服务发送新请求之前应在缓存中保存的时长。 该指令可以接受一个或多个参数,每个参数将一个 HTTP 状态码与一个缓存时长配对。例如,为成功响应(如 200)定义的缓存期可能与错误响应(如 404)不同。这种灵活性有助于优化缓存利用,确保用户在享受缓存带来的性能提升的同时获得新鲜的内容。 此外,'scgi_cache_valid' 用于 'http'、'server' 或 'location' 块中,可针对特定的路由或虚拟主机进行定制。它与 'scgi_cache' 指令配合使用,必须启用该指令才能使缓存生效。如果请求的响应匹配已定义的状态码并且未超过指定时间,NGINX 将返回缓存的版本,而不是向后端发起新的请求,从而提升性能并降低负载。
配置示例
http {
scgi_cache path/to/cache;
scgi_cache_valid 200 1h;
scgi_cache_valid 404 30m;
}⚠
确保启用 'scgi_cache',以保证缓存正常工作。
⚠
为动态内容设置较长的缓存时间时请谨慎,因为这可能会提供过期的数据。
⚠
该指令不能单独生效;它依赖于其他配套指令以实现完整功能。