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

相关推荐
艾伦_耶格宇1 小时前
【docker】-1 docker简介
运维·docker·容器
R.X. NLOS1 小时前
VS Code远程开发新方案:使用SFTP扩展解决Remote-SSH连接不稳定问题
运维·服务器·ssh·debug·vs code
cuijiecheng20182 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
用户9272472502194 小时前
PHP+JS+CSS+JSON 单页新闻系统实现方案
php
用户8324951417325 小时前
Spring Boot 实现 Redis 多数据库切换(多数据源配置)
redis
jingyu飞鸟5 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
2401_858286116 小时前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb
Ashlee_code7 小时前
什么是Web3?金融解决方案
开发语言·金融·架构·eclipse·web3·区块链·php
c30%008 小时前
内网渗透——红日靶场五
运维·服务器
zjw_rp8 小时前
centos停止维护后更换yum源
linux·运维·centos