商品秒杀思路

商品秒杀思路

注意:该文章内容仅为作者个人记录,欢迎提出建议
1读取redis(缓存中的库存)
2.根据缓存进行判断是否足够库存
3.执行数据操作

一、读取redis(缓存中的库存)

        $goods_id = ""; //商品id
        $stock = ""; //库存
        $sale_num = 1; //销售数量
        $redis = new \Redis();
        $redis->connect('127.0.0.1', 6379);
        $redis->auth('');

        $stock = $redis->get($goods_id);
        if (is_null($stock)) {
            $stock = ""; //到数据库中获取库存
            $redis->set($goods_id, $stock - 1);
            //执行订单操作
            //***** 
        } else {
            //判断库存是否满足购买数量
            if ($stock >= $sale_num) {
                //1添加数据放到队列执行
                //2执行订单操作
            }else{
                //库存不足 返回信息
            }
        }

高并发场景下我们还可以再加强并发量
1.当遇见redis穿透时,我们可以增加redis锁
2.当遇见redis雪崩时,我们可以把redis部署为分布式,集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值