原生分布式锁-Redisson分布式锁防止个人超领优惠券

DBC 1.7K 0

简介:讲解单用户优惠券超领业务问题和效果演示

  • 什么单用户超领优惠券
    • 优惠券限制1人限制1张,有些人却领了2张
    • 优惠券限制1人限制2张,有些人却领了3或者4张
  • 案例举例和问题来源
温馨提示

前面解决了,优惠券超发的问题,但是这个个人领取的时候,有张数限制,

有个生发洗发水100元,有个10元优惠券,每人限制领劵1张

小滴课堂-老王,使用时间暂停思维来发现问题,并发领劵

A线程原先查询出来没有领劵,要再插入领劵记录前暂停
然后B线程原先查询出来也没有领劵,则插入领劵记录,然后A线程也插入领劵记录
老王就有了两个优惠券

问题来源核心:对资源的修改没有加锁,导致多个线程可以同时操作,从而导致数据不正确

解决问题:分布式锁 或者 细粒度分布式锁

发表评论 取消回复
表情 图片 链接 代码

分享