keyval
`keyval` 指令定义了一个变量,该变量根据给定的键值对从键值存储中检索值。
Nginx module for the key-value store
·
stream
语法keyval $key $variable zone=zone_name;
默认值none
上下文stream
参数3
说明
keyval 指令用于创建一个命名变量,该变量会动态填充来自预定义键值对的数据,这些键值对存储在共享内存或 Redis 后端中。该指令接受三个参数——第一个参数表示键,键可以是静态字符串和 NGINX 变量的组合;第二个参数指定变量名,键对应的值将被赋给该变量。与键一起存储的值可能具有生存时间 (TTL) 到期,使其适合需要短暂数据存储的用例。此外,第三个参数允许指定存储键值对的共享内存区域,从而通过利用 NGINX 内置的内存管理功能来提升可扩展性和性能。
配置示例
http {
keyval_zone zone=one:32k;
keyval $arg_text $text zone=one;
server {
listen 80;
location / {
return 200 $text;
}
}
}⚠
确保使用 zone= 指定的内存区域已正确定义;否则,值可能无法检索。
⚠
在键中使用动态变量时,请验证它们不会被求值为空;否则可能导致意外行为。
⚠
键名在指定区域内必须唯一,以防止数据冲突。