srcache_max_expire

`srcache_max_expire` 指令设置在基于子请求的 NGINX 缓存系统中,缓存项可以保持有效的最长时间。

语法srcache_max_expire time;
默认值none
上下文http, server, location, if in location
参数1

说明

srcache_max_expire 指令用于 NGINX 配置中,用来控制由 ngx_srcache 模块提供的透明基于子请求的缓存机制中存储项的缓存过期时间的上限。该指令在需要根据特定条件对服务器端响应缓存进行精细调整的场景中特别有用。

当缓存项被存储时,其过期时间常常可以使用变量动态设置,或遵循由其他指令(例如 srcache_store)定义的缓存规则。srcache_max_expire 指令为该过期时间提供了明确的上限,确保缓存项不会超出该指令指定的时间而无限期地停留在缓存中。这样有助于优化缓存行为,避免将陈旧数据无限期地提供给客户端,从而保持数据的新鲜度。

该指令的参数为一个时间值,可以使用不同格式指定,如秒、分钟或小时(例如 30s、5m、1h)。时间值的具体组合与类型可能很关键,尤其是在高可用系统中,缓存陈旧可能影响应用性能时。将此指令在 server 或 location 级别定义,可针对不同端点实现上下文特定的缓存策略。

配置示例

location /cache {
    srcache_fetch my_cache;
    srcache_store my_cache;
    srcache_max_expire 10m;
}

确保所指定的值不是负的持续时间,因为这可能导致缓存行为不可预测。

如果没有适当的缓存失效策略而将其设置得过高,可能会导致向客户端提供过期的内容。

← 返回所有指令