Skip to content

秒杀接口库存判断问题 #14

@lt-dh

Description

@lt-dh

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions