-
Notifications
You must be signed in to change notification settings - Fork 464
Open
Description
我简单看了一下秒杀接口这里
--1、判断是否已经秒杀到了
--2、预减库存
--3、入mq
----4、判断商品数量
----5、判断是否已经秒杀到了
----6、商品库存减一、添加信息进订单、插入秒杀表
疑问:这里上层出现了redis预减库存,但真实减去库存是第六步数据库,这就会出现数据库还有库存,但是redis已经没有库存的情况。
比如:我同一个用户第一次秒杀成功,在订单没生成的时候继续秒杀。这就会出现redis减去了两次,但是在数据库中只减去了一次(极端情况下,数据库减去两次,同一个用户生成两个订单)。
我只是简单的看了下,没有具体运行操作。验证的话,直接在第六步写库之前写一个睡眠延长订单入库时间,请帮我验证并解答一下。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels