订单加锁

第一种方式使用数字据增加版本字段的方式针对卖商品比较合适

基本思路是在商品活订单等地方增加一个版本号字段(有的说是增加锁标志,你可以不用想这种方式),增加之后第一次查询是否可以交易的时候把版本号查询出来,然后当真正的去更新订单状态的时候要把版本号也作为where条件去更新,如果更新失败就重新循环这个订单,或者按你的其他逻辑走

第二种方式使用redis加锁的方式针对竞争性操作合适

当每次走到交易的逻辑的时候向redis设置一个key 必须使用 setnx 这样如果设置成功说明没有没有锁定那就可以交易,设置失败就说明被锁了

第三种方式 redis watch

要求数据全部在 redis中所有的操作全是redis操作,使用watch 效果好

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值