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

相关推荐
小番茄程序猿2 小时前
Redis 编码压测 59 轮:HSET 快 23 倍是假象,SMEMBERS 慢 30 倍是真的
redis·后端
国科安芯2 小时前
人在回路中的总线:商业空间站环境控制与生命保障系统CANFD网络的可靠性与功能安全
网络·嵌入式硬件·安全·架构·php·抗辐射
鶴哥只手遮天3 小时前
《Redis 8.10.3 深度剖析》系列 ·第 13 章 Set:三种编码、集合运算与随机采样
redis·后端·开源
xbzb5 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
Android系统攻城狮5 小时前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
瑞克-桑切斯6 小时前
redis
数据库·redis·缓存
瑞克-桑切斯7 小时前
ERP 企业生产管理系统部署手册
运维·docker·云原生·容器·eureka
花间相见7 小时前
【计算基础|Redis02】【上手】五大数据类型命令逐条实操
数据库·redis·后端
江屿风7 小时前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
我不会起名字3228 小时前
K8s 节点磁盘打满导致 Pod 被驱逐:4 类占用与回收顺序
运维·kubernetes·k8s·diskpressure·evicted