Redis事务阻止了所有其他请求

时间:2019-07-29 08:23:15

标签: redis

阅读redis交易文档时我一无所获:

  

事务中的所有命令都被序列化并执行   按顺序。 永远不会发生由另一个人发出的请求   在Redis执行期间为客户提供服务   交易。这样可以确保命令作为   单个隔离操作。

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

大胆的片段是令我烦恼的片段。这是否意味着在一个请求中设置密钥A的值时,另一个要为密钥B设置值的请求将被阻止,直到第一个请求完成为止?

1 个答案:

答案 0 :(得分:1)

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

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

<块引用>

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

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

相关问题