Skip to the content.

Redis 事务

Redis 事务指的是将一组命令打包起来,让 Redis 服务器依次执行这组命令,在执行这组命令的过程中,不会被其它的命令插队。

Redis 事务与 ACID

Redis 事务本质上是在服务器上搞了个事务队列(每个客户端对应一个)。当客户端开启事务后,所有的命令会发送到服务器的事务队列中,而不是服务器就直接运行命令了,当客户端发送执行事务的命令时,服务器才去执行事务队列中的命令。

Redis 事务的相关操作命令如下:

Watch 的原理

Watch 很像乐观锁,被监控的 Key 会拥有一个版本号,当 Key 发生修改时,版本号都会变化(变大)。在事务中修改 Key 时,也会使得版本号发生变化,并且还会记录下该版本号,当执行 Exec 时,会检查 Key 当前版本号与之前记录的版本号是否相同,若相同则执行事务,反之则丢弃事务。

本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。