例如
我有几个set命令,我不关心它们的返回值,在我的lua脚本中,我必须写几个redis.call('set', key, val).
有什么方法像管道,所以我可以一起做.也许效率更高?
不 - 无法从 Lua 脚本管道 Redis 调用或批处理它们。注意调用redis.call非常有效,因此无论如何您都不必太担心。
正如@deltheil 指出的那样,如果您使用其可变参数形式,则可以对同一命令的多个调用“分组”。虽然对于 Lua 脚本不太重要,但这绝对是推荐的做法。
那么使用MSET呢?
$ redis-cli
127.0.0.1:6379> eval 'redis.call("mset", "foo", "bar", "scm", "git", "test", "ok")' 0
(nil)
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> get scm
"git"
127.0.0.1:6379> get test
"ok"
Run Code Online (Sandbox Code Playgroud)