0
点赞
收藏
分享

微信扫一扫

关于Redis 事务和乐观锁(watch监控)

流沙雨帘 2022-02-03 阅读 49
127.0.0.1:6379> mutil
(error) ERR unknown command 'mutil'
127.0.0.1:6379> multi #开启事务
OK
127.0.0.1:6379> set k 1
QUEUED
127.0.0.1:6379> exec #执行事务
1) OK
127.0.0.1:6379> get k
"1"
127.0.0.1:6379> set money 100
OK
127.0.0.1:6379> incrby money -10
(integer) 90
127.0.0.1:6379> watch money #监控
OK
开启另一个线程
127.0.0.1:6379> get money
"90"
127.0.0.1:6379> incrby money 50
(integer) 140
127.0.0.1:6379> get money
"140"
127.0.0.1:6379>


127.0.0.1:6379> multi
OK
127.0.0.1:6379> incrby money 40
QUEUED
127.0.0.1:6379> get money
QUEUED
127.0.0.1:6379> exec     #执行失败
(nil)
127.0.0.1:6379> multi
OK
127.0.0.1:6379> get money
QUEUED
127.0.0.1:6379> exec
1) "140"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> get money
QUEUED
127.0.0.1:6379> exec #执行成功
1) "140"
127.0.0.1:6379>

只用改动数据才会使事务失效

incrby money 50
(nil)
127.0.0.1:6379> get money
“140”
127.0.0.1:6379> exec

  1. “140”
    查询数据 不会导致事务失效
举报

相关推荐

0 条评论