【秒杀业务思路-缓存预热-防止超卖】

秒杀业务

1,开发查询秒杀商品列表的功能

2,开发根据spuid查询秒杀sku列表信息

3,根据当前时间查询正在秒杀的商品

4,根据spuid查询秒杀商品详情

5,查询所有秒杀商品的spuid

6,缓存预热思路

  (1)预热的内容是参与秒杀商品的sku查询出来,根据skuid将该商品的库存保存到redis中,

还要防止雪崩,在向redis保存数据时,要添加随机数。

(2)秒杀开始前,生成布隆过滤器,判断访问,判断商品是否存在,再进行访问。

(3) 秒杀开始前,生成每个商品的随机码,绑定商品spu,防止黄牛靠技术 获取到,提前购买商品。

7,设置定时任务,提前5分钟开始将库存和随机码保存到redis中,防止超卖(使用自减少)。到0就是卖光了。StringDateRedis ,修改库存数。

RedisTemplate对象在保存数据到redis中,会把当前数据序列化后保存,优点是可以保存到redis中,读写效率高,但是不能在redis中修改数据。这样预热包括sku的库存数,以序列化的方式保存,就可以在高并发的情况下,线程安全问题的情况下防止超卖。需要用到SpringDataRedis减少库存。

8,生成秒杀订单

秒杀提交订单和普通订单的区别

1,要判断当前用户是否为重复购买

2,从redis中判断是否有库存

3,秒杀订单转换为普通订单,需要使用dubbo在order模块中完成

4,用消息队列RabbitMQ的方式将秒杀成功的信息保存到success表中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值