srcache_store_skip
`srcache_store_skip` 指令指定在何种条件下 NGINX 应跳过将响应存储到子请求缓存机制中。
Transparent subrequest-based caching layout for arbitrary NGINX locations
·
httpserverlocationif in location
语法srcache_store_skip expression;
默认值none
上下文http, server, location, if in location
参数1
说明
srcache_store_skip 指令是 ngx_srcache 模块的一部分,该模块为 NGINX 提供基于子请求的透明缓存功能。此指令允许用户为跳过子请求响应缓存过程定义特定条件或准则。通过设置 srcache_store_skip 指令,管理员可以根据在 NGINX 配置上下文中定义的可自定义条件,有效地控制哪些响应不应被缓存。
定义 srcache_store_skip 指令的语法通常包含一个参数,该参数以变量表达式的形式指定一个或多个条件。这些表达式通常返回类似布尔的结果(true/false),用于决定是否应考虑缓存来自子请求的响应。如果指定的条件求值为 true,则该响应的缓存过程将被中止。此功能在缓存场景中提供了更大的灵活性,尤其适用于动态内容或不宜缓存的响应。
您通常会在多种上下文中发现此指令,包括 http、server、location,以及 location 上下文内的条件 if 块中。这种灵活性允许针对不同应用场景或特定 URI 所需的不同缓存行为制定细粒度的缓存策略。
配置示例
location /example {
srcache_store_skip $arg_no_cache;
srcache_store my_store;
}⚠
确保表达式有效并按预期求值;否则,缓存可能不会按预期工作。
⚠
使用复杂表达式可能会引入解析错误;为便于调试,请保持条件简单。