【Redis】乐观锁 [ 编程杂谈 ]
大数据男孩 文章 正文
明妃
{{nature("2022-08-14 17:23:19")}}更新乐观锁
乐观锁并不是 Redis 的功能,而是 Redis 的 watch 关键字能 实现 乐观锁。
开启事务前,设置对数据的监听(watch)
,exec
时,如果发生数据 发生过修改
,作用于改数据
的事务会自动取消(discard)
,事务exec
后,无论成败,监听会被移除
添加监听:watch key [keys]
取消监听(会取消所有的):unwatch
乐观锁 实例
开启监听
[]()
新开启一个客户端,修改 k 值
127.0.0.1:6379> set k bb
OK
继续 exec
执行事务(exec 之前
k 值已经被改变),事务执行不会成功
[]()
应用场景
- 多个客户端可能同时操作同一组数据,并且该数据一旦被操作修改后,便不适合在原基础上继续操作,如四个业务员对一个物品进行入库操作,一名业务员操作完成之后,其他的业务员将不可以再原先基础的数量上进行入库操作。
{{nature('2020-01-02 16:47:07')}} {{format('12641')}}人已阅读
{{nature('2019-12-11 20:43:10')}} {{format('9527')}}人已阅读
{{nature('2019-12-26 17:20:52')}} {{format('7573')}}人已阅读
{{nature('2019-12-26 16:03:55')}} {{format('5017')}}人已阅读
目录
标签云
一言
评论 0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}