zoukankan      html  css  js  c++  java
  • 电商项目中使用Redis实现秒杀功能

    参与过抢购活动就知道,很明显的一点是商即便商品实际没有了也是可以下单成功的,但是在支付的时候会提示你商品没有了。

    实现原理:list双向链表

    使用redis队列,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行.(mysql事务在高并发下性能下降很厉害,文件锁的方式也是).

    此处用到了Redis中的链表(list)数据类型:

    '栈':从链表的头部添加元素,先进后出

    '队列':从链表的尾部添加元素,先进先出

    redis保存数据时都有key和value,key和value要么是String类型的,要么是byte[]类型的

    第一步:先将商品库存存入队列


    第二步:抢购开始,设置库存的缓存周期

     

    第三步:客户端执行下单操作,下单前判断redis队列库存量

  • 相关阅读:
    等宽布局和flex
    antd按需加载
    linux-redis cluster集群(redis5.x)
    linux-mysql-主从同步
    mysql-行转列
    Spring Bean 作用域
    ArrayList、LinkedList区别(jdk8)
    java类及实例初始化顺序
    线程池-结构
    GIT基础
  • 原文地址:https://www.cnblogs.com/qxandxt/p/10480170.html
Copyright © 2011-2022 走看看