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, "当前请求人数过多,请稍后重试!", []);
}