2024-06-26 04:07:14 发布
网友
所以我已经读过this post关于Redis散列没有MGET模拟。其中一个答案是使用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
最有效的方法是使用管道。
假设您想要给定密钥的所有内容,并且已经知道所有密钥:
有关管道的详细信息可以在这里找到:http://redis.io/topics/pipelining
相关问题 更多 >
编程相关推荐