Redis 事务正在阻止所有其他请求



阅读 redis 事务文档时,我没有得到一件事:

事务中的所有命令都序列化并执行顺序。永远不会发生由另一个人发出的请求客户端在执行 Redis 的过程中提供服务交易。这保证了命令作为单个隔离操作。

寄件人: https://redis.io/topics/transactions

粗体的片段是让我烦恼的片段。这是否意味着在一个请求中设置键 A 的值时,另一个想要为键 B 设置值的请求将被阻止,直到第一个请求完成?

不,使用 MULTI 打开事务不会阻止与 redis 的其他并发连接。

https://redis.io/topics/transactions#usage

使用 MULTI 命令输入 Redis 事务。该命令始终回复"确定"。此时,用户可以发出多个命令。Redis 不会执行这些命令,而是将它们排队。调用 EXEC 后,将执行所有命令

在事务中收集命令,直到您关闭事务。之后,表彰将一一执行,不会中断。这意味着,如果其他连接在之后提交,则它们仍然可以在仍然打开的事务的命令之前执行,而它们仍然在关闭事务之前提交。

相关内容

最新更新