Redis链接命令

时间:2012-10-09 20:23:53

标签: lua redis

所以我读过有关流水线操作和multi / exec命令的内容。但一直未能回答这个问题。我可以在redis中的操作B中使用操作A的结果,以免将它们从redis中取出。这可以用Lua脚本来完成吗?这是在redis中自然完成的吗?我可以以特定方式映射结果吗?

2 个答案:

答案 0 :(得分:4)

是的,您可以使用Scripting,因为它不能与Redis Cluster(目前尚未发布)配合使用。

这是Ruby中的一个示例,但如果您的Redis客户端支持EVAL,您可以使用任何语言执行此操作:

require "redis"
redis = Redis.new

redis.hset("foo","bar","baz")
redis.set("baz",42)

script = <<EOS
local k = redis.call("hget","foo",ARGV[1])
return redis.call("get",k)
EOS

puts redis.eval(script,keys:[],argv:["bar"])

此代码段打印42

答案 1 :(得分:2)

这不是基于lua的答案,但你可能想看一些在redis上存储操作结果的标准命令: