redis事务(WATCH、MULTI、EXEC)是否可以通过多路复用连接进行



我使用的Redis库提供了连接复用(我目前使用的是Rust-lib,但我认为这个问题与任何实现都相关(。

根据我读到的关于多路复用的内容(以及我从lib实现中了解到的内容(,它使用相同的连接来处理来自多个上下文(线程/任务等(的数据库操作

现在,我不确定如果WATCH在同一个多路复用连接上与两个不同的上下文并行调用会发生什么。来自一个上下文的EXEC会取消另一个线程中的WATCH吗?或者Redis不知何故知道如何区分上下文,即使它们使用相同的连接?

不,这不可能通过多路复用连接实现。Redis事务上下文被附加到特定的";客户端";意思是一个特定的连接。

相关内容

最新更新