乐观锁
乐观锁并不是 Redis 的功能,而是 Redis 的 watch 关键字能 实现 乐观锁。
开启事务前,设置对数据的监听(watch)
,exec
时,如果发生数据 发生过修改
,作用于改数据
的事务会自动取消(discard)
,事务exec
后,无论成败,监听会被移除
添加监听:watch key [keys]
取消监听(会取消所有的):unwatch
乐观锁 实例
开启监听
新开启一个客户端,修改 k 值
127.0.0.1:6379> set k bb OK
继续 exec
执行事务(exec 之前
k 值已经被改变),事务执行不会成功
应用场景
- 多个客户端可能同时操作同一组数据,并且该数据一旦被操作修改后,便不适合在原基础上继续操作,如四个业务员对一个物品进行入库操作,一名业务员操作完成之后,其他的业务员将不可以再原先基础的数量上进行入库操作。
版权声明:《 【Redis】乐观锁 》为明妃原创文章,转载请注明出处!
最后编辑:2022-2-1 14:02:29