scgi_cache_key
`scgi_cache_key` 指令设置 NGINX 中 SCGI 响应的缓存键。 — NGINX HTTP Core
scgi_cache_key
httpserverlocation
语法scgi_cache_key string | variable;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
`scgi_cache_key` 指令用于为 NGINX 中的 SCGI(读作 'sggi')响应指定自定义缓存键。默认情况下,NGINX 使用基于请求 URI 和其它参数生成的键来在 SCGI 缓存中存储响应数据。自定义缓存键的能力可以通过确保将请求的特定方面或变量用于键生成来优化缓存性能,可能减少缓存未命中并改善响应时间。 该指令接受单个参数,该参数可以是定义键构建方式的字符串或变量。例如,你可以选择包含请求中的特定参数或省略某些不需要用于缓存区分的 URI 部分。通过精心设计缓存键,用户可以根据不同的标准优化要存储的响应,从而更有效地利用缓存内容。需要注意的是,由于缓存直接影响服务器的性能和效率,键应当经过慎重构造以避免意外的缓存冲突。 `scgi_cache_key` 指令在 `http`、`server` 和 `location` 上下文中有效,使其可以在配置的不同层级上使用。如果未指定,NGINX 将回退到其内部的默认键生成机制,这对于某些用例可能并不高效。
配置示例
location /api {
scgi_pass backend;
scgi_cache my_cache;
scgi_cache_key "$request_uri$request_method";
}⚠
确保构建的键足够唯一,以防止缓存冲突。
⚠
注意变量展开;在某些情况下,变量在键生成时可能不可用。
⚠
更改缓存键模式将使现有的缓存项失效。