我是redis的新手。我想知道如何从redis中的多个集合中获取多个字段的值。在Redis有可能吗?如果可能的话,如何。 示例
HSET myhash1 field1 "Hello"
HSET myhash2 field2 "Hello"
HSET myhash3 field3 "Hello"
I want to get all the three field's value from different sets at a time?
答案 0 :(得分:0)
您可以使用Lua Scripting。
示例:
local a={}
a[1] = redis.call('hget',KEYS[1], KEYS[2])
a[2] = redis.call('hget',KEYS[3], KEYS[4])
a[3] = redis.call('hget',KEYS[5], KEYS[6])
return a
为了简单而编码,当然您可以使参数更加灵活。您还可以使用cjson进行输入和输出(如果您记住序列化会占用一小部分CPU)。
另一种方法是使用pipelining,但我猜您的问题是关于以原子方式执行此操作。
希望这有帮助,TW