srcache_store_no_cache

`srcache_store_no_cache` 指令指示 NGINX 在请求包含指示不缓存要求的特定头时,阻止将响应存入缓存。

语法srcache_store_no_cache on | off;
默认值off
上下文http, server, location
参数flag

说明

srcache_store_no_cache 指令是一个标志,使 NGINX 能够基于请求中是否存在某些 Cache-ControlPragmaExpires 头来识别响应是否不应被缓存。当将此指令设置为 on 时,它会检查传入请求中指示 'no-cache' 条件的头,然后将响应标记为不可缓存,从而确保这些对象不会被存入缓存。

该指令可在 httpserverlocation 等不同上下文中使用,允许根据特定位置或服务器配置对缓存行为进行细粒度控制。在处理敏感或频繁变更的数据(例如用户认证或实时更新)的场景中尤其有用,因为缓存响应可能导致提供过时或未授权的信息。

在实际使用中,当 srcache_store_no_cache 被启用时,它通过检查已定义的 'no-cache' 条件并确保遵从客户端请求的要求,从而直接影响缓存管理机制。因此,该指令在根据条件缓存策略维护响应的完整性和新鲜度方面发挥着关键作用。

配置示例

location /api {
    srcache_store;
    srcache_store_no_cache on;
    proxy_pass http://backend;
}

确保该指令放在适当的上下文(http、server 或 location)中以生效。

如果在应用中没有正确处理缓存头就设置该指令,可能导致意外的缓存未命中或性能下降。

请记住,该指令仅在 srcache_store 正确配置时才会生效;否则,其效果可能不明显。

← 返回所有指令