Redis 连接/管道的寿命?

Man*_*odi 4 redis python-2.7

我正在 python 中创建 Redis 管道,如下所示:

rPipe = redis.Redis(...).pipeline()
Run Code Online (Sandbox Code Playgroud)

变量rPipe在类的__init__中定义。

当用户使用rpipe调用时,类中的函数执行setget命令。

rpipe.set(...)

rpipe.execute()
Run Code Online (Sandbox Code Playgroud)

但据我了解,Redis连接会被Redis服务器自动关闭,那么一旦我创建了对象,我的rPipe将有效多长时间?

Cri*_*eco 5

在正常情况下(例如,除非您达到最大客户端数或最大缓冲区大小的限制,或者您的客户端设置了特定超时),Redis 不会自动关闭客户端连接。

Redis 中的管道是一种将命令组合在一起并将它们一次性发送到服务器,然后一步接收所有回复的简单方法。

假设您正在使用redis-py库(但相同的参数可能合理地适用于任何经过深思熟虑的客户端),()当您调用execute()管道对象时,命令将被打包并发送给 Redis。然后管道对象的状态被重置,并且可以被客户端安全地重用。

顺便说一句,如果使用 redis-py,请考虑默认情况下管道命令包装在MULTI/EXEC 事务中,这并不总是可取的。