phpredis防止超卖的方法

phpredis防止超卖的方法

        $redis = RedisClient::getInstance();
        if ($redis->get(self::TABLEPRE . '_red') >= 100) {
            echo '红包没有了';
            exit();
        } else {
            $yijingred = $redis->incr(self::TABLEPRE . '_red');
            if ($yijingred >= 100) {
                $redis->decr(self::TABLEPRE . '_red');
                echo '红包没有了';
                exit();
            }
        }

还有种方法就是消息队列

lpop读取。。。然后更新数据库表       客户度需要3秒后再次请求 读取数据库更新状态的


如果遇到什么不懂的地方直接关注公众号留言(本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。)
作者:newmiracle
出处:https://www.cnblogs.com/newmiracle/

 
原文地址:https://www.cnblogs.com/newmiracle/p/14919441.html