srcache_default_expire
为 srcache 模块中的缓存条目设置默认过期时间。
Transparent subrequest-based caching layout for arbitrary NGINX locations
·
httpserverlocationif in location
语法srcache_default_expire time;
默认值none
上下文http, server, location, if in location
参数1
说明
srcache_default_expire 指令用于为 NGINX 的 location 中基于透明子请求的缓存布局中存储的缓存响应指定默认生存时间 (TTL)。该指令在缓存管理中起关键作用,用于确定缓存条目在被视为过时并随后刷新之前保持有效的时长。当单个缓存项没有定义显式过期时间,或者在它们被返回时没有特定缓存指令存在时,此过期时间将适用于缓存条目。
使用 srcache_default_expire 时,需要指定一个持续时间参数,该参数遵循 NGINX 的时间值语法,例如 1m、5h 或 24s。该指令设置的过期时间会影响其定义范围内的所有缓存行为——在 http、server、location 以及条件的 if in location 上下文中生效。通过设置合理的默认过期时间,可以在数据新鲜度与减少后端服务器负载之间取得平衡,避免对相同资源进行不必要的重复请求。
这意味着,如果使用该指令缓存了某个条目,在指定的时间到期之前不会从上游重新获取,从而成为优化响应时间和服务器性能的有力工具。然而,重要的是根据底层数据的更改频率明智地设置此时间:时间过长可能会返回陈旧数据,而时间过短则可能导致过多的获取请求。
配置示例
location /example {
srcache_default_expire 10m;
# Further configuration here
}⚠
过期时间必须以有效的时间格式指定(例如:5m、30s),且不能为空。
⚠
如果将过期时间设置得过短,可能会导致对后端的频繁请求,从而抵消缓存带来的好处。
⚠
请记住,该指令仅在未定义其他特定过期设置时生效。
⚠
缓存层次结构的错误配置可能导致返回陈旧数据或导致资源使用过度。