在Redis中获取几个散列的最有效方法是什么?

2024-06-26 04:07:14 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我已经读过this post关于Redis散列没有MGET模拟。其中一个答案是使用MULTI/EXEC批量执行操作,这对列表和常规键有效,但对散列无效。然而,现在,我正在为我想要检索的每一个散列数据做一个有线呼叫,这对我来说似乎是个坏消息。

所以我的问题是:什么是从Redis中获取几个散列的最有效的方法,效率的标准是网络调用的最少数量?我使用的是Redis 2.0.4,使用Python客户端编程。谢谢!


Tags: 数据方法答案redis列表批量thispost
1条回答
网友
1楼 · 发布于 2024-06-26 04:07:14

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

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

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

相关问题 更多 >