TP6 写法
//限制访问次数
public function visit_times(){
//判断 key 是否存在,存在则加一 increment,不存在则设置key 过期时间
$id = 1;
// 判断key是否存在
$check = Cache::store('redis')->has('qps_' . $id);
if ($check){
// +1
Cache::store('redis')->inc('qps_' . $id);
echo $count = Cache::store('redis')->get('qps_' . $id);
// 限制每分钟10次
if($count > 2){
echo '当前id请求频率过高';
exit;
}
} else {
Cache::store('redis')->set('qps_' . $id, 1,60);//初始值1
}
}
该段代码展示了如何在ThinkPHP6(TP6)框架中利用Redis存储实现访问频率限制。通过检查和更新`qps_`前缀的键来记录每分钟的请求数量,如果超过预设的阈值(这里是10次),则提示请求频率过高并终止请求。这有助于防止恶意攻击和保护应用资源。
629

被折叠的 条评论
为什么被折叠?



