Redis管道适合实时设置?

时间:2014-04-16 06:02:14

标签: python performance redis

我有几个键设置实时值。因为据说管道速度要快得多,所以它真的适合运行

r= redis.StrictRedis()
pipe = r.pipeline()
for i in range(100000):
    pipe.set(i, i+1).execute()   

有10万个键,每秒都会有值变化。我需要运行execute(),因为我也会实时并行检索数据。

在这种情况下,在性能和CPU负载方面是否适合使用管道?

1 个答案:

答案 0 :(得分:1)

您在每次迭代时调用execute。所以你根本就没有使用管道,只是增加了开销。

如果批量捆绑每5000个项目的execute()(例如),是的,这是合适且非常快的。

请记住,StrictRedis.pipeline不是真正的管道。它是一个客户端队列,它在execute()中使用服务器端管道接口。如果感兴趣,请参阅here

希望这有帮助,TW