Maison  >  Article  >  base de données  >  Comment Redis résout-il le problème de la vente flash et de la survente ?

Comment Redis résout-il le problème de la vente flash et de la survente ?

尚
original
2019-07-05 16:16:129553parcourir

Comment Redis résout-il le problème de la vente flash et de la survente ?

Tout d'abord, générez le décompte de l'inventaire

 public function kucun()
    {
        //有十个库存
        $count=10;
        //添加到redis list中
        for($i=0;$i<$count;$i++){
            Predis::getInstance()->lpush(&#39;kucun&#39;,111111111);
        }
        self::dd(Predis::getInstance()->lrange(&#39;kucun&#39;,0,-1));
    }

Après cela, utilisez lpop ou rpop de redis pour couper la liste. Auparavant, llen ou incr était utilisé pour juger les données. . , il y aura un phénomène de survente, donc la logique de lpop est utilisée ici pour résoudre le problème de survente

 public function ru()
    {   
        //判断计数器
        if (Predis::getInstance()->lpop(&#39;kucun&#39;)) {
            $user=User::where(&#39;user_id&#39;,1082)->find();
            //存入会员id
            Predis::getInstance()->lpush(&#39;user&#39;,$user[&#39;user_id&#39;]);
            //计数器累计加1
            // Predis::getInstance()->incr(&#39;number&#39;);
            echo &#39;加入秒杀成功&#39;;exit();
        }else{
            echo &#39;活动截至&#39;;
            exit();
        }
    }

Test :

ab -r -n 1000 -c 1000  http://149.28.16.212/index/index/ru

Comment Redis résout-il le problème de la vente flash et de la survente ?

Plus de connaissances liées à Redis. , veuillez visiter la colonne Tutoriel d'utilisation de Redis !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn