所以,我已经读过这篇文章大约有没有作为一个MGET对Redis的哈希模拟。据说用来MULTI/EXEC批量操作的答案之一,不幸的是,它确实适用于列表和常规键,但不适用于散列。但是,现在,我正在为要检索的每个哈希通过电话进行呼叫,这对我来说似乎是个坏消息。
MGET
MULTI/EXEC
所以我的问题是:从Redis收回几个哈希的 最 有效方法是什么,而效率标准是最少的网络呼叫数?我正在使用Redis 2.0.4,并使用Python客户端进行编程。谢谢!
最有效的方法是使用管道。
假设您想要给定键的所有内容,并且已经知道所有键:
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