Keyval#
该模块允许使用从"键值"对中获取值的变量,
这些键值对存储在共享内存或 Redis 存储中。 要 安装 该模块,请使用以下软件包之一: Angie: Angie PRO: 要使用该模块,必须在 通过给 让我们使用请求定义一些值: 让我们检查一下: 让我们修改配置以将"键值"对存储在 Redis 存储中: 让我们通过请求向 Redis 存储添加一个"键值"对: 也可以直接使用 Redis 来完成: 让我们检查一下: 指令的完整说明和源代码可在以下位置获取:
kjdev/nginx-keyval。安装#
angie-module-keyvalangie-pro-module-keyval加载模块#
main{} 上下文中加载它:load_module modules/ngx_http_keyval_module.so;
配置示例#
keyval_zone zone=one:32k;
keyval $arg_key $value zone=one;
server {
listen 80;
server_name localhost;
location /get {
return 200 "key '$arg_key' has value = '$value'\\n";
}
location /set {
set $value $arg_value;
return 200 "'$arg_key' key added with '$arg_value' value\\n";
}
}
$value 变量赋值来添加和修改共享内存区域 'one' 中的条目。键值
存储在 $arg_key 变量中。在此配置中,这是通过
set 指令完成的:set $value $arg_value;
演示#
$ curl "localhost/set/?key=one&value=TextForKeyOne"
'one' key added with 'TextForKeyOne' value
$ curl "localhost/set/?key=two&value=TextForKeyTwo"
'two' key added with 'TextForKeyTwo' value
$ curl "localhost/get/?key=one"
key 'one' has value = 'TextForKeyOne'
$ curl "localhost/get/?key=two"
key 'two' has value = 'TextForKeyTwo'
使用 Redis#
keyval_zone_redis zone=oneredis;
keyval $arg_key $value zone=oneredis;
server {
listen 80;
server_name localhost;
location /get {
return 200 "key '$arg_key' has value = '$value'\\n";
}
location /set {
set $value $arg_value;
return 200 "'$arg_key' key added with '$arg_value' value\\n";
}
}
$ curl "localhost/set/?key=one&value=TextForKeyOne"
'one' key added with 'TextForKeyOne' value
$ redis-cli
127.0.0.1:6379> set oneredis:two 'text for key two'
OK
127.0.0.1:6379>
$ redis-cli --scan
"oneredis:one"
"oneredis:two"
$ curl "localhost/get/?key=one"
key 'one' has value = 'TextForKeyOne'
$ curl "localhost/get/?key=two"
key 'two' has value = 'text for key two'
其他信息#