0
点赞
收藏
分享

微信扫一扫

Laravel - 限流器

柠檬果然酸 2023-03-14 阅读 77

需要先配置好缓存,检查文件: /config/cache.php 。

使用

使用限流: RateLimiter 门面

<?php
use Illuminate\Support\Facades\RateLimiter;

//attempt 返回 false,表示超限
$isover = RateLimiter::attempt(
//标识:说明限流内容
'send-message:'.$user->id,
//限流:每分钟5次
$perMinute = 5,
//回调
function() {
//发送了一次数据
}
);

判断超限

RateLimiter::tooManyAttempts('send-message:'.$user->id, $perMinute = 5)

剩余次数

RateLimiter::remaining('send-message:'.$user->id, $perMinute = 5)

增加次数

RateLimiter::hit('send-message:'.$user->id)

清除次数

RateLimiter::clear('send-message:'.$message->user_id);

剩余秒数(已超限时)

RateLimiter::availableIn('send-message:'.$user->id)

举报

相关推荐

0 条评论