利用 Redis 限制接口请求频率 [ 新手入门 ]
<?php
function getRedis()
{
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
return $redis;
}
function getApiLimit($api, $default = '2000')
{
//接口名称 = 每次请求ms间隔
$info = [
'user.info' => '500',
'user.login' => '1000'
];
return isset($info[$api]) ? $info[$api] : $default;
}
$api = isset($_GET['path']) ? $_GET['path'] : 'main';
$time = getApiLimit($api);
$key = "api_limit_" . $api;
$redis = getRedis();
$num = $redis->incr($key);
if($num == 1) {
$redis->pExpire($key, $time);
} else {
exit('api limit');
}
echo 'success';
共 1 条回复
PHP学院的中学生
注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
最后登录:2024-09-23
在线时长:168小时13分
- 粉丝29
- 金钱4725
- 威望30
- 积分6705