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

相关推荐
羊小蜜.13 小时前
Linux 03:僵死进程(Zombie Process)原理、危害与解决方案
linux·运维·服务器
yang9yun13 小时前
linux宝塔面板使用API自动部署更新文件
linux·运维·状态模式
cen__y13 小时前
Linux06(进程)
linux·运维·服务器·c语言·ubuntu
码银13 小时前
使用VMware安装CentOS7(Linux)操作系统(图文步骤)附vmware安装包/centos.iso镜像文件
linux·运维·centos
dollmarker13 小时前
vulnhub靶场之hacksudo: 2 (HackDudo)靶机-NFS提权
c语言·网络·网络安全·php
似水এ᭄往昔13 小时前
【Linux】--磁盘和文件系统
linux·运维·数据库
ai大模型中转api测评13 小时前
GPT-5.5 性能深度实测:从 FrontierMath 4 基准看 API 聚合平台在多模态架构中的响应优化
gpt·架构·php
Gofarlic_oms113 小时前
Allegro高级功能模块许可证管理注意事项
运维·服务器·开发语言·matlab·负载均衡
IMPYLH13 小时前
Linux 的 sum 命令
linux·运维·服务器·chrome·python·bash
snow@li13 小时前
数据库-Oracle:常用语法 / Oracle 核心知识技能梳理
数据库·redis·缓存