参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
该插件支持使用 env:// 前缀引用环境变量中的敏感参数值,或使用 secret:// 前缀引用 Secret 管理器(如 HashiCorp Vault 的 KV 密钥引擎 中的值。更多信息,请参阅环境变量中的插件和Secrets。
exact
object
精确匹配缓存的设置;仅当规范化后的请求与此前缓存的某个请求完全相同时,才复用其响应。
ttl
integer
default:
3600vaild vaule:
大于或等于 1
缓存条目的存活时间(TTL),单位为秒。
cache_key
object
用于控制缓存键作用范围的设置。
share_across_routes
boolean
default:
false如果为 true,缓存键不包含路由 ID,因此不同路由上的相同请求可以共享缓存的响应。如果为 false,每个路由拥有各自独立的缓存作用范围。
include_consumer
boolean
default:
false如果为 true,缓存键中包含消费者名称,因此缓存的响应按消费者隔离。
include_vars
array[string]
default:
[]要纳入缓存键作用范围的额外上下文变量名称,使这些变量取值不同的请求不会共享缓存的响应。
max_cache_body_size
integer
default:
1048576vaild vaule:
大于或等于 0
允许缓存的响应体最大大小,单位为字节。超过该大小的响应不会被缓存。
cache_headers
boolean
default:
true如果为 true,插件会添加
X-AI-Cache-Status响应头(缓存命中时还会添加X-AI-Cache-Age)。设置为 false 可省略这些响应头。fail_mode
string
default:
skipvaild vaule:
skip、warn或error当请求因未选中任何 AI 实例而无法缓存时(例如路由未同时配置
ai-proxy或ai-proxy-multi)的行为。取值为skip时,请求将不经检查直接放行。取值为warn时,请求将放行并记录一条警告日志。取值为error时,请求将以 HTTP 500 被拒绝。bypass_on
array[object]
一组请求头匹配规则。如果某个请求匹配任意一条规则,则绕过缓存,并将响应 的
X-AI-Cache-Status标记为BYPASS。header
string
required
vaild vaule:
非空
要匹配的请求头名称。
equals
string
required
规则匹配时请求头必须等于的值。
policy
string
default:
redisvaild vaule:
redis缓存存储后端。目前仅支持
redis。redis_host
string
required
vaild vaule:
至少 2 个字符
Redis 服务器的地址。当
policy为redis时必填。redis_port
integer
default:
6379vaild vaule:
大于或等于 1
Redis 服务器的端口。
redis_username
string
使用 Redis ACL 时用于 Redis 认证的用户名。
redis_password
string
用于 Redis 认证的密码。
redis_database
integer
default:
0vaild vaule:
大于或等于 0
Redis 服务器的数据库编号。
redis_timeout
integer
default:
1000vaild vaule:
大于或等于 1
Redis 操作的超时时间,单位为毫秒。
redis_ssl
boolean
default:
false如果为 true,使用 TLS 连接 Redis。
redis_ssl_verify
boolean
default:
false如果为 true,验证 Redis 服务器的 TLS 证书。