redis 事务,当 multi 发送给服务器之后,服务器能在 multi 和 exec 之间这段时间内执行来自别的客户端的命令吗?

2022-10-05 00:55:04 +08:00
 movq

redis 是单线程执行命令的

multi 发出之后,是只能等着执行这个客户端继续输入命令,此时别的客户端根本无法执行命令

还是说此时别的客户端可以发来命令并被执行呢?

我猜可以执行别的客户端的命令

1284 次点击
所在节点    程序员
3 条回复
CEBBCAT
2022-10-05 00:58:48 +08:00
> Marks the start of a transaction block. Subsequent commands will be queued for atomic execution using EXEC.
@ https://redis.io/commands/multi/

> Redis Multi 命令用于标记一个事务块的开始。 事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
@ https://www.runoob.com/redis/transactions-multi.html

老兄你仔细读下。
voidmnwzp
2022-10-05 01:02:40 +08:00
你自己开多个连接试试不就行了
ch2
2022-10-05 09:08:20 +08:00
你可以 watch 一个 key ,监视是否被修改,放弃事务

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/884672

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX