Redis 复合命令或命令管道

Jas*_*ary 3 redis

过去几天一直在玩 redis。是否可以运行如下复合命令:

MGET ZRANGE ranks 0 1
Run Code Online (Sandbox Code Playgroud)

我还没有从文档、这篇旧帖子或测试中找到明确的答案:

redis 127.0.0.1:6379> ZRANGE ranks 0 1
1) "One"
2) "Two"
redis 127.0.0.1:6379> MGET One Two
1) "1"
2) "2"
redis 127.0.0.1:6379> MGET ZRANGE ranks 0 1
1) (nil)
2) (nil)
3) (nil)
4) (nil)
Run Code Online (Sandbox Code Playgroud)

Ada*_*dam 5

Redis 内置的 LUA 脚本支持应该允许您有效地将命令链接在一起。请参阅http://redis.io/commands/eval。不完全是你正在寻找的,但也许这就足够了。

一个简单的例子:

redis> set foo bar
OK
redis> set bar baz
OK
redis> eval "return      redis.call('get',redis.call('get','foo'))" 0
"baz"
Run Code Online (Sandbox Code Playgroud)