一尘不染

在Redis中获得多个哈希的最有效方法?

redis

所以,我已经读过这篇文章大约有没有作为一个MGET对Redis的哈希模拟。据说用来MULTI/EXEC批量操作的答案之一,不幸的是,它确实适用于列表和常规键,但不适用于散列。但是,现在,我正在为要检索的每个哈希通过电话进行呼叫,这对我来说似乎是个坏消息。

所以我的问题是:从Redis收回几个哈希的 有效方法是什么,而效率标准是最少的网络呼叫数?我正在使用Redis
2.0.4,并使用Python客户端进行编程。谢谢!


阅读 375

收藏
2020-06-20

共1个答案

一尘不染

最有效的方法是使用管道。

假设您想要给定键的所有内容,并且已经知道所有键:

import redis

r = redis.Redis(host='localhost', port=6379, db=0)
p = r.pipeline()
for key in keys:
    p.hgetall(key)

for h in p.execute():
    print h

可以在以下位置找到有关管道的更多信息:http :
//redis.io/topics/pipelining

2020-06-20