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

相关推荐
Lsir10110_24 分钟前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
darkb1rd39 分钟前
八、PHP SAPI与运行环境差异
开发语言·网络安全·php·webshell
清风拂山岗 明月照大江1 小时前
Redis笔记汇总
java·redis·缓存
Doro再努力1 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
darkb1rd1 小时前
七、PHP配置(php.ini)安全最佳实践
安全·php·webshell
全栈工程师修炼指南1 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
Lsir10110_1 小时前
【Linux】进程信号(上半)
linux·运维·服务器
JSON_L2 小时前
Fastadmin中使用GatewayClient
php·fastadmin
青茶3602 小时前
php怎么实现订单接口状态轮询请求
前端·javascript·php
开开心心就好2 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节