laravel8 单接口频次限制
安装 Redis
composer require predis/predis
//判断 key 是否存在,存在则加一 increment,不存在则设置key 过期时间
$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);
本作品采用《CC 协议》,转载必须注明作者和本文链接