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

相关推荐
Yupureki11 小时前
《MySQL数据库基础》9.索引原理
linux·运维·服务器·网络·数据库·mysql
2301_8090511411 小时前
Linux TCP 和 UDP 通信
linux·运维·tcp/ip
Qt程序员11 小时前
从上电到系统就绪:ARM+U-Boot 嵌入式 Linux 启动流程
linux·运维·c++·内核·设备树·嵌入式·ram
Yupureki12 小时前
《MySQL数据库基础》8.复合查询
linux·运维·服务器·网络·数据库·mysql
rising start12 小时前
从客户端通信到分布式消息中间件
redis·分布式·kafka·rabbitmq·mq
上海云盾安全满满12 小时前
海外服务器使用高防CDN的优势
运维·服务器
眷蓝天12 小时前
Jenkins部署与配置
运维·jenkins
reikocao12 小时前
ubuntu系统源
linux·运维·ubuntu
Promise微笑12 小时前
SF6综合测试仪:国产替代SF6综合测试仪的精密化进阶与自主实践
运维·人工智能·安全
Mortalbreeze12 小时前
进程间通信 ---- System V 共享内存
linux·运维·服务器