在redis 协议规范中,在“多批回复部分”下:
多批量回复用于返回一组其他回复。多批量回复的每个元素都可以是任何类型,包括嵌套的多批量回复。
但是,我想不出让 Redis 返回此类输出的方法。谁能提供一个例子?
在redis 协议规范中,在“多批回复部分”下:
多批量回复用于返回一组其他回复。多批量回复的每个元素都可以是任何类型,包括嵌套的多批量回复。
但是,我想不出让 Redis 返回此类输出的方法。谁能提供一个例子?
只有某些命令(尤其是返回值列表的命令)返回多批回复,您可以尝试使用LRANGE
example,但您可以查看命令参考以获取更多详细信息。
通常多批量回复只有 1 级深度,但一些 Redis 命令可以返回嵌套的多批量回复(最多 2 级),特别是EXEC
(取决于在事务上下文中执行的命令)和两者EVAL
/ EVALSHA
(取决于返回的值通过 Lua 脚本)。
这是一个使用示例EXEC
:
redis 127.0.0.1:6379> MULTI
OK
redis 127.0.0.1:6379> LPUSH metavars foo foobar hoge
QUEUED
redis 127.0.0.1:6379> LRANGE metavars 0 -1
QUEUED
redis 127.0.0.1:6379> EXEC
1) (integer) 4
2) 1) "hoge"
2) "foobar"
3) "foo"
4) "metavars"
多批量回复的第二个元素EXEC
是多批量 itef。
PS:我在评论中添加了关于使用 Lua 脚本时多批回复的实际最大嵌套级别的说明。tl; dr:基本上没有限制。