redis实现乐观锁

监控(Watch)

  悲观锁:

    什么时候都会出问题,无论做什么都加锁

  乐观锁:

    认为什么时候都不会出现问题,所以不会上锁!更新数据的时候去判断一下,再此期间是否有人修改过这个数据

    mysql获取version

    更新的时候比较version

  Redis监视测试

    watch key 监视key对象

 

测试多线程修改值,使用watch可以当做redis的乐观锁操作,执行前,另外一个线程修改了值,这个时候会导致第一个线程

事务执行失败

  

 

 

 需要解锁,取消监视,用unwatch(如果发现事务执行失败就先解锁),再重新监视watch key,输入命令后 exec(比对监视的

值是否发生变化,如果变化则失败,不变化则成功)

如果修改失败,获取最新的值就好

posted @   doremi429  阅读(233)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示