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

相关推荐
SPC的存折1 分钟前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
爱学习的小囧1 小时前
VMware ESXi 6.7U3v 新版特性、驱动集成教程和资源包、部署教程及高频问答详情
运维·服务器·虚拟化·esxi6.7·esxi蟹卡驱动
小疙瘩1 小时前
只是记录自己发布若依分离系统到linux过程中遇到的问题
linux·运维·服务器
dldw7772 小时前
IE无法正常登录windows2000server的FTP服务器
运维·服务器·网络
运维有小邓@2 小时前
什么是重放攻击?如何避免成为受害者?
运维·网络·安全
北漂Zachary2 小时前
Laravel 10.x 新特性全面解析
php·laravel
汤愈韬3 小时前
下一代防火墙通用原理
运维·服务器·网络·security
IMPYLH3 小时前
Linux 的 od 命令
linux·运维·服务器·bash
Kk.08024 小时前
Linux(十一)fork实例练习、文件操作示例及相关面试题目分享
linux·运维·算法
数据雕塑家5 小时前
Linux下大文件切割与合并实战:解决FAT32文件系统传输限制
linux·运维·服务器