redis实现乐观锁
监控(Watch)
悲观锁:
什么时候都会出问题,无论做什么都加锁
乐观锁:
认为什么时候都不会出现问题,所以不会上锁!更新数据的时候去判断一下,再此期间是否有人修改过这个数据
mysql获取version
更新的时候比较version
Redis监视测试
watch key 监视key对象
测试多线程修改值,使用watch可以当做redis的乐观锁操作,执行前,另外一个线程修改了值,这个时候会导致第一个线程
事务执行失败
需要解锁,取消监视,用unwatch(如果发现事务执行失败就先解锁),再重新监视watch key,输入命令后 exec(比对监视的
值是否发生变化,如果变化则失败,不变化则成功)
如果修改失败,获取最新的值就好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通