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

相关推荐
CHANG_THE_WORLD35 分钟前
12.总结:深入理解 Linux I/O 多路复用:select、poll、epoll 全解析
linux·运维·服务器
风曦Kisaki1 小时前
# Linux笔记:操作系统优化与资源管理
linux·运维·服务器·笔记
zhangrelay3 小时前
笔记本轻量高品质延寿工具完整分系统清单
运维·笔记·学习
熊猫钓鱼>_>3 小时前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
Ethan01074 小时前
redis 热key问题如何解决+场景
redis
RisunJan4 小时前
Linux命令-screen(终端复用器)
linux·运维
啊哦1115 小时前
安装VMware Workstation
linux·运维·服务器
持敬chijing5 小时前
Linux基础命令与目录命令
linux·运维·服务器
小张成长计划..5 小时前
【Linux】12:进程状态
linux·运维·服务器
Devin~Y7 小时前
互联网大厂Java面试实战:Spring Boot、MyBatis、Redis、Kafka、JWT、Spring Cloud 与 AI 场景追问
java·spring boot·redis·spring cloud·kafka·mybatis·spring security