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的!

相关推荐
2603_9547083120 分钟前
微能网协调控制箱的核心价值:让多种能源“协同作战”
大数据·运维·网络·人工智能·架构·能源
码上有光20 分钟前
make和makefile(自动化构建)
android·运维·自动化
bksczm21 分钟前
Linux之应用层层协议认知(TCP协议编程模块化demo) —— 兼论守护进程机制
linux·运维·服务器
jiecy21 分钟前
同在专网内,为什么有的通服务器有的不通?
运维·服务器
JaguarJack25 分钟前
对标 npx 的 CPX PHP 的 Composer 包执行器
后端·php·服务端
BingoGo28 分钟前
对标 npx 的 CPX PHP 的 Composer 包执行器
后端·php
一嘴一个橘子33 分钟前
Redis List 数据类型
redis
'pi%'34 分钟前
“咒语”质量如何量化?大模型Prompt效果评估与自动化验证方案
运维·自动化·prompt
三江番长 陀舍古帝36 分钟前
细说SQL Server中的加密
运维·服务器·数据库
爱和冰阔落1 小时前
【Linux】从匿名管道到进程池:任务派发、fd 继承 Bug 与完整实现
android·linux·运维·c++