【问题标题】:Is redis transaction (WATCH, MULTI ,EXEC ) possible over multiplexed connection?redis 事务(WATCH、MULTI、EXEC)是否可以通过多路复用连接?
【发布时间】:2022-01-15 23:51:56
【问题描述】:

我正在使用提供连接多路复用的 Redis 库(我目前正在使用 Rust 库,但我认为这个问题与任何实现都相关)。

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

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

【问题讨论】:

  • 您使用的是哪个客户端?

标签: redis transactions


【解决方案1】:

不,不可能通过多路连接。 Redis 事务上下文附加到特定的“客户端”,即特定的连接。

【讨论】:

    猜你喜欢
    • 2013-03-24
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2021-04-01
    • 1970-01-01
    相关资源
    最近更新 更多