如何在Laravel 8中设置每秒速率限制器。我需要设置每秒而不是每分钟的速率限制器。
速率限制器 (Laravel 8) - https://laravel.com/docs/8.x/routing#rate-limiting
现在我可以使用 Laravel 的速率限制器几分钟、几小时等。但我正在尝试实现一秒钟的速率限制器。我想限制每秒 25 个请求。(从“Illuminate\Cache\RateLimiting\Limit”导出的 Limit 类)
请检查我使用过的以下代码
RateLimiter::for('api', function (Request $request) {
return [
// Rate limiter based on Client IP Address
Limit::perMinute(env('IP_ADDR_RATE_LIMITER_PER_MINUTE', 60))->by($request->ip())->response(function () {
....
}),
// Rate limiter based on API key/User
Limit::perMinute(env('API_KEY_RATE_LIMITER_PER_MINUTE', 60))->by($request->input('key'))->response(function () {
...
})
];
});
Run Code Online (Sandbox Code Playgroud)
有没有办法限制每秒 25 个请求?
注意:还尝试在 Illuminate\Cache\RateLimiting\Limit 中添加/更改函数,其中我尝试更改每分钟函数。提前致谢。