适合实时获取和设置的Redis管道?

2 投票
1 回答
2614 浏览
提问于 2025-04-18 02:55

我有几个键在实时更新值。因为有人说管道的速度更快,那么在这种情况下使用管道真的合适吗?

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

撰写回答