//判断 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 参考这个,框架自带的,很好用