PHP学院的中学生 2019-11-13 15:21:45 2475次浏览 1条回复 0 0 0
<?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';
  • 回复于 2019-11-25 10:07 举报

    没有redis连接池就别这样做傻事

    每秒接口请求一万次,redis连接一万次,早挂了,煞笔煞笔

    1 条回复
    回复于 2019-12-06 09:07 回复

    redis连接池这块要怎么做啊,指点点关键词哥哥

您需要登录后才可以回复。登录 | 立即注册