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

相关推荐
早川91918 分钟前
Linux系统
linux·运维·服务器
程序员JerrySUN34 分钟前
OP-TEE + YOLOv8:从“加密权重”到“内存中解密并推理”的完整实战记录
android·java·开发语言·redis·yolo·架构
iFlow_AI1 小时前
iFlow CLI + ACK MCP Server:让 ACK 容器运维进入对话时代
运维·ack·iflow·iflow cli
IT利刃出鞘1 小时前
Docker Compose--解决容器时间不正确的问题
运维·docker·容器
山上三树1 小时前
进程状态详解
linux·运维·服务器
山上三树1 小时前
task_struct 详解
运维·服务器·网络
oMcLin1 小时前
如何打造Linux运维监控平台:Prometheus + Grafana实战与性能优化
linux·运维·prometheus
小虎哥-技术博客1 小时前
ThinkPHP 5 到 ThinkPHP 8 路由迁移完整指南
php
木卫二号Coding2 小时前
jupyterlab-安装与启动
linux·运维·服务器
此生只爱蛋2 小时前
【Redis】数据类型补充
数据库·redis·缓存