zoukankan      html  css  js  c++  java
  • 乐观锁的幂等性方案

    那么为了使用乐观锁,我们首先修改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条件就不成立。这样就保证了不管调用几次,只会真正的处理一次。
  • 相关阅读:
    倒序三角形
    有时间了
    测试一个数是不是素数
    初学C++编写小程序
    N!的递归调用
    1+...+5的递归调用
    1!+....+5!
    菱形块
    23.git简单使用
    27.flask学习
  • 原文地址:https://www.cnblogs.com/leeego-123/p/11925852.html
Copyright © 2011-2022 走看看