您现在的位置是:首页 > Redis > redis学习:购买秒杀任务 网站首页 Redis

redis学习:购买秒杀任务

Tom2018-12-19 485人围观
Redis  
简介 暂无

主题:针对购物秒杀1000件等这样的活动

普通的代码写法:

  1. 查询库存
  2. 减库存
  3. 加订单

缺点:

  1. 在高并发下面会出现库存变成负数
  2. 订单数据会变多
原因:
  1. 同时请求查询的时候,都满足条件,同时进入逻辑了处理,造成了库存变负数
解决方案:
  1. 库存字段使用无符号的int
  2. 使用事务startTrans加锁表,for update ,tp是用的lock(true)链式操作
  3. redis 队列
redis 队列的思路
  1. 把库存量,存入redis 中
  2. 用户来了,使用一次就少一次
  3. 不再依赖数据库查询库存量
代码:
连接redis

先把库存存入redis,

业务逻辑

生成订单等

执行秒杀

数据库


结果:
    使用ad 测试时未出现库存为负数,和订单变多的情况

本章- end-

打赏本站,你说多少就多少

文章评论

image
03-27 Dad
51525354

image
03-16 Aziz丶
1