在redis协议规范中,在“多批量答复部分”下:
多批量答复用于返回其他答复的数组。多批量回复的每个元素都可以是任意类型的,包括嵌套的多批量答复。
但是,我想不出有什么办法让Redis返回这样的输出。有人能举个例子吗?
发布于 2013-03-03 18:48:30
只有某些命令(特别是返回值列表的命令)才返回多批量答复,例如,可以尝试使用LRANGE,但可以查看命令引用以获得更多详细信息。
通常,多批量答复只有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的多批量答复的第二个元素是多块itsef。
PS:我在注释中添加了关于使用Lua脚本时多批量回复的实际最大嵌套级别的说明。tl博士:基本上没有限制。
https://stackoverflow.com/questions/15188146
复制相似问题