首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Redis中嵌套多批量答复

在Redis中嵌套多批量答复
EN

Stack Overflow用户
提问于 2013-03-03 17:02:06
回答 1查看 2.4K关注 0票数 1

redis协议规范中,在“多批量答复部分”下:

多批量答复用于返回其他答复的数组。多批量回复的每个元素都可以是任意类型的,包括嵌套的多批量答复。

但是,我想不出有什么办法让Redis返回这样的输出。有人能举个例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-03 18:48:30

只有某些命令(特别是返回值列表的命令)才返回多批量答复,例如,可以尝试使用LRANGE,但可以查看命令引用以获得更多详细信息。

通常,多批量答复只有1层深度,但有些Redis命令可以返回嵌套的多批量答复(最大2级),特别是EXEC (取决于在事务上下文中执行的命令)和EVAL / EVALSHA (取决于Lua脚本返回的值)。

下面是一个使用EXEC的示例

代码语言:javascript
复制
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博士:基本上没有限制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15188146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档