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

相关推荐
xxjj998a7 小时前
如何安装linux版本的node.js
linux·运维·node.js
niucloud-admin7 小时前
PHP SAAS 框架常见问题——配置问题——小程序配置提示“Failed to get authorizer_access_token“
php
黑牛儿7 小时前
面试高频问题:从浏览器请求到PHP响应:完整流程拆解
android·后端·面试·php
唐墨1238 小时前
linux kernel之设备树
linux·运维·服务器
huanmieyaoseng10038 小时前
centos 配置国内yum源2026新
linux·运维·centos
zzh0818 小时前
NoSQL之Redis配置与优化
redis·bootstrap·nosql
MinterFusion8 小时前
如何在VirtalBox中安装deepin操作系统虚拟机(v0.1.0)(下)
运维·虚拟机·deepin·virtualbox·国产操作系统·明德融创·虚拟技术
q5431470878 小时前
基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证
spring boot·redis·spring
黑牛儿8 小时前
Swoole协程 vs Go协程:PHP开发者一看就懂的实战对比
后端·golang·php·swoole
草莓熊Lotso8 小时前
Linux 线程同步与互斥(一):彻底搞懂线程互斥原理、互斥量底层实现与 RAII 封装
linux·运维·服务器·开发语言·数据库·c++