redis 限流

 

    protected function queue()
    {
        //生成下一分钟的redis队列

        $nextMinute = date("Y-m-d H:i", strtotime("+1 minute"));
        $time = strtotime($nextMinute);
        for ($i = 0; $i <= 60; $i++) {

            $redis_key = $time + $i;
            $redis_key = 'miniproduct:legtype:' . $redis_key;
            $redisListData = [0, 1, 2, 2, 3, 3, 0, 1, 2, 2, 3, 3, 0, 1, 2, 2, 3, 3, 0, 1, 2, 2, 3, 3, 0, 1, 2, 2, 3, 3];
            shuffle($redisListData);
            Cache::store('redis')->handler()->lpush($redis_key, ...$redisListData);

            Cache::store('redis')->handler()->expire($redis_key, 120);
        }
        echo '执行成功';
    }

 

 

       //QPS限制判断
        $redis_key = "miniproduct:legtype:" . time();
        $index = Cache::store('redis')->handler()->lpop($redis_key);
        if (is_numeric($index)) {
            //相关业务
        } else {
            return ResponseHelper::returnJson(-1, "当前请求人数过多,请稍后重试!", []);
        }            

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章