谁一开始就是大神?

PHP使用Redis限制接口每分钟请求次数,一分钟可请求多少次?[2.0]

//判断 key 是否存在,存在则加一 increment,不存在则设置 key过期时间
$id = 1;
// 判断key是否存在
$check = $redis->exists('qps_' . $id);
if ($check) {
    // +1
    $redis->increment('qps_' . $id);
    echo $count =$redis->get('qps_' . $id);
    // 限制每分钟10次
    if ($count > 10) {
       echo '当前id请求频率过高';
       exit;
    }
} else {
    $redis->set('qps_' . $id, 1, 60); //初始值1
}

yii有个速率限制,比这个方式更科学
$redis->increment('qps_' . $id);
echo $count =$redis->get('qps_' . $id);
// 限制每分钟10次

也不是原子操作~
https://www.yiichina.com/doc/guide/2.0/rest-rate-limiting 参考这个,框架自带的,很好用

赞(0) 打赏
未经允许不得转载:菜鸟之家 » PHP使用Redis限制接口每分钟请求次数,一分钟可请求多少次?[2.0]

评论 抢沙发

登录

找回密码

注册