适合实时获取和设置的Redis管道?
我有几个键在实时更新值。因为有人说管道的速度更快,那么在这种情况下使用管道真的合适吗?
r= redis.StrictRedis()
pipe = r.pipeline()
for i in range(100000):
pipe.set(i, i+1).execute()
我有10万个键,它们的值每秒都在变化。我需要运行execute(),因为我也需要实时并行获取这些数据。
在性能和CPU负载方面,使用管道合适吗?
1 个回答
1
你在每次循环时都在调用执行,这样的话根本没有利用到管道,反而增加了额外的负担。
如果你把执行操作批量处理,比如每5000个项目一起执行,这样做会更合适,而且速度也会很快。
要记住,StrictRedis.pipeline其实并不是真正的管道。它只是一个客户端的队列,使用的是服务器端的管道接口在执行时调用。想了解更多可以看看这里。
希望这对你有帮助,TW