Redis 事物

redis 事物:

Redis 事物的实现:

  1. 首先 wath监控键值 myKey
  2. 开启批量执行 multi,执行命令入列,执行 exec 。如果监控的键值mykey 没有被修改过,则exec 中批量执行的命令成功,否则执行失败。无论执行成功与否,都会执行取消wath的执行

 

Redis multi 批量执行,是先把批量中的命令放入队列,此时所有的命令都不会执行,知道exec 中才会执行命令。

 

(一)修改过程中数据变化,执行失败

 

1创建 key值hbb0b0,并把 hbb0b0的值改为5

 

127.0.0.1:6379> select 0

OK

127.0.0.1:6379> set hbb0b0 5

OK

127.0.0.1:6379> get hbb0b0

"5"

 

2开启命令行窗口,开启事物,监视key hbb0b0,执行更改hbb0b0 为6

 

 Redis 事物_第1张图片

 

 

 

3开启图形窗口,修改hbb0b0的值为10

 Redis 事物_第2张图片

 

 

 

 

 

4 开启命令行窗口,提交修改命令

 Redis 事物_第3张图片

 

5 最终的结果是命令执行失败

 

 

(二)修改过程中数据无变化,执行成功

开启事物后,事物未被修改过,事物执行成功

 Redis 事物_第4张图片

 

 

 

 

 

你可能感兴趣的:(Redis 事物)