如何用PHP实现基于Redis的接口频率限制功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计107个文字,预计阅读时间需要1分钟。
在PHP中,使用Redis限制接口请求频率,代码如下:
php '500', 'user.login'=> '1000']; return isset($info[$api]);}?>
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';
本文共计107个文字,预计阅读时间需要1分钟。
在PHP中,使用Redis限制接口请求频率,代码如下:
php '500', 'user.login'=> '1000']; return isset($info[$api]);}?>
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';

