PHP+REDIS设置请求限流(设置1秒内最大请求数1000QPS)

复制代码
双十一期间要做活动,设置商品请求限流,护航秒杀活动正常进行!

#设置1秒内最多同时1000请求
$maxNum = 1000;
$redisKey = 'GoldMall:Huodong:gid'.$g_id.'_'.date('s');
$onlineNum = (int)$this->redis->get($redisKey);
if($onlineNum){
    $onlineNum++;
    $this->redis->set($redisKey,$onlineNum,1);
}else{
    $onlineNum = 1;
    $this->redis->set($redisKey,$onlineNum,1);
}
if($onlineNum>$maxNum){
    $this->jsonResponse(401,"服务器繁忙请稍后再试~{$onlineNum}");
}

以上代码经过实践测试,OK的!

相关推荐
IMPYLH5 小时前
Linux 的 pinky 命令
linux·运维·服务器·bash
HelloWorld_SDK5 小时前
Docker安装OpenClaw
运维·docker·容器·openclaw
REDcker6 小时前
Linux iptables 与 Netfilter:原理、路径与运维要点
linux·运维·服务器
北漂Zachary6 小时前
Laravel 8.x 核心特性全解析
php·laravel
Cat_Rocky6 小时前
redis哨兵模式
数据库·redis
北漂Zachary6 小时前
Laravel 5.x升级亮点:从架构优化到API革新
架构·php·laravel
KKKlucifer7 小时前
零信任融合实践:国内堡垒机如何落地动态权限与实时阻断
运维
Bert.Cai8 小时前
Linux useradd命令详解
linux·运维
无忧.芙桃9 小时前
进程控制(上)
linux·运维·服务器
Bert.Cai9 小时前
Linux rm命令详解
linux·运维