redis2_query

设置要由上游 Redis 服务器执行的 Redis 命令查询。

语法redis2_query command [args];
默认值none
上下文location, if in location
参数1+

说明

redis2_query 指令允许你定义一个或多个将被发送到上游 Redis 服务器执行的 Redis 命令。该指令可以在 location 块中使用,从而为不同的端点启用特定的处理器。使用 redis2_query 的主要优点是它能够根据配置中定义的变量动态传递 Redis 命令。可以声明多个 redis2_query 实例,支持管道化命令,这可以通过减少与 Redis 服务器的往返次数来提高性能。

每个 redis2_query 在运行时求值,这意味着你可以传入在请求处理周期早些时候设置的变量。也就是说,你可以将它与其他指令(例如 set)结合使用以获得动态值,或从查询字符串中获取参数。当在同一 location 块中组合多个查询时,你可以在最终使用 redis2_pass 指令将查询转发到指定的 Redis 服务器之前,先执行多个 Redis 命令。这样可以在响应客户端请求时对要执行的 Redis 命令提供更大的灵活性和控制。

配置示例

location = /store {
    set $item 'key';
    set $value 'value';
    redis2_query set $item $value;
    redis2_query get $item;
    redis2_pass 127.0.0.1:6379;
}

确保在评估 redis2_query 指令之前,查询中使用的变量已被正确定义。

在同一位置使用多个 redis2_query 可能会导致意外行为或性能影响,尤其是在未正确进行流水线处理时。

Redis 命令或参数格式不正确可能会导致错误或向 Redis 服务器发送无效命令。

← 返回所有指令