{{format('0')}} {{format('317')}} {{format('674')}}

【Redis】乐观锁 [ 编程杂谈 ]

大数据男孩 文章 正文

想做一个技术博客,奈何实力不够
分享

明妃

{{nature("2022-08-14 17:23:19")}}更新

乐观锁

乐观锁并不是 Redis 的功能,而是 Redis 的 watch 关键字能 实现 乐观锁。

开启事务前,设置对数据的监听(watch)exec时,如果发生数据 发生过修改,作用于改数据的事务会自动取消(discard),事务exec后,无论成败,监听会被移除

添加监听:watch key [keys]

取消监听(会取消所有的):unwatch

乐观锁 实例

开启监听

[mark]()

新开启一个客户端,修改 k 值

127.0.0.1:6379> set k bb
OK

继续 exec 执行事务(exec 之前 k 值已经被改变),事务执行不会成功

[mark]()

应用场景

  • 多个客户端可能同时操作同一组数据,并且该数据一旦被操作修改后,便不适合在原基础上继续操作,如四个业务员对一个物品进行入库操作,一名业务员操作完成之后,其他的业务员将不可以再原先基础的数量上进行入库操作。
评论 0
0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}
TOP 2
Spark 2.0 单机模式与集群模式 安装

{{nature('2020-01-02 16:47:07')}} {{format('12522')}}人已阅读

TOP 3
Office 2016 Pro Plus 激活

{{nature('2019-12-11 20:43:10')}} {{format('9410')}}人已阅读

TOP 4
Linux上 MySQL 开启远程登陆的两种方法

{{nature('2019-12-26 17:20:52')}} {{format('7405')}}人已阅读

TOP 5
Linux 安装 MySQL 5.7

{{nature('2019-12-26 16:03:55')}} {{format('4880')}}人已阅读

目录

标签云

Redis 乐观锁

一言

# {{hitokoto.data.from || '来自'}} #
{{hitokoto.data.hitokoto || '内容'}}
作者:{{hitokoto.data.from_who || '作者'}}
自定义UI
配色方案

侧边栏