首页 > 其他 > 详细

乐观锁的幂等性方案

时间:2019-11-25 10:15:50      阅读:153      评论:0      收藏:0      [点我收藏+]

那么为了使用乐观锁,我们首先修改t_goods表,增加一个version字段,数据默认version值为1

 

 

乐观锁方案

借鉴数据库的乐观锁机制,如:
 update t_goods set count = count -1 , version = version + 1 where good_id=#{id} and version = 1

 

根据version版本,也就是在操作库存前先获取当前商品的version版本号,然后操作的时候带上此version号。我们梳理下,我们第一次操作库存时,得到version为1,调用库存服务version变成了2;但返回给订单服务出现了问题,订单服务又一次发起调用库存服务,当订单服务传如的version还是1,再执行上面的sql语句时,就不会执行;因为version已经变为2了,where条件就不成立。这样就保证了不管调用几次,只会真正的处理一次。

乐观锁的幂等性方案

原文:https://www.cnblogs.com/leeego-123/p/11925852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!