laravel 单接口频次
安装Redis
composer require predis/predis
//判断 key 是否存在,存在则加一 increment,不存在则设置key 过期时间
//若需要实现单用户,去掉$url即可,拼接的也一并剔除
$id = 1;
$url = $request->getPathInfo();
// 判断key是否存在
$check = Cache::store('redis')->has('qps_' . $id . $url);
if ($check){
// +1
Cache::store('redis')->increment('qps_' . $id . $url);
echo $count = Cache::store('redis')->get('qps_' . $id . $url);
// 限制每分钟10次
if($count > 5){
echo '当前id请求频率过高';
exit;
}
} else {
Cache::store('redis')->set('qps_' . $id . $url, 1,60);//初始值1
}
return $next($request);
推荐文章: