美文网首页
关于秒杀抢库存相关的一点理解

关于秒杀抢库存相关的一点理解

作者: Hmcf | 来源:发表于2020-05-14 13:10 被阅读0次

    秒杀场景通常需要解决两个问题:
    1、高并发
    2、库存超卖

    对于高并发问题,我们可以使用缓存系统来解决,避免直接对数据库进行操作,造成服务器宕机,
    可以使用redis,也可以使用消息队列。
    (1)使用redis的话,在redis里面对商品库存做一个“伪商品列表”,如有100件商品,那么就在redis里建一个列表,里面插入100个数(可以都是0、1啥的)。然后在redis接收到抢商品的请求时,利用redis列表的pop原子操作,从之前建立的100个伪商品列表里pop出一个元素,如果正常pop,那么抢货成功,将该请求的信息插入到抢货成功列表中,然后告知客户端,抢货成功。

    (2)使用消息队列,在抢货时,将请求都发送到消息队列里面,然后使用消费者,将消息队列里面的数据读出来,直到数量达到商品的上限。然后将这些请求成功的消息通知到对应的客户。
    (不是特别的实时)

    相关文章

      网友评论

          本文标题:关于秒杀抢库存相关的一点理解

          本文链接:https://www.haomeiwen.com/subject/jnzznhtx.html