如何在redis中一次从多个键获取多个字段的值?

时间:2014-03-31 12:32:52

标签: redis nosql

我是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?

1 个答案:

答案 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