Springboot整合Redis的Cluster集群进行API限流

Redis天生就是限流的好帮手!因为它有key,有value,有expire过期时间。我们把ip和url作为表示某个接口的key,而value就是这个ip下访问该url接口的次数,过期时间就是设定的限时时间

我们把限时时间设定为3s,次数设置为9次,意思就是:某一ip在3s内最多只能对该url接口访问9次。每访问一次,value就加1:

如果3s内次数都不超过9,那么该键值对会在3s后过期。
如果次数(redis存储的value)在3s内超过9,就停止该url的正常服务,直到过期时间一到,就全部清零,该url就正常服务了。

相关推荐
echola_mendes5 小时前
InfluxDB(四)——动态 Field/Tag 实现多类型设备统一接入的完整实践指南
java·后端·struts
冷小鱼5 小时前
Valkey 深度剖析:Redis 最佳平替的技术全景
数据库·redis·缓存·valkey
.柒宇.6 小时前
AI 掘金头条项目-新闻模块实现
数据库·后端·python·fastapi
TO_ZRG6 小时前
Android Broadcast Receiver完全入门指南
java·后端·spring
Knight_AL6 小时前
使用 CyclicBarrier + 自定义线程池实现 SpringBoot 并行报表(完整性能对比)
java·spring boot·后端
IT_陈寒6 小时前
Java的finally块居然没执行?这是个巨坑
前端·人工智能·后端
代码羊羊6 小时前
Rust 闭包全方位详解:语法、捕获规则、Fn 三特征、返回值实战
开发语言·后端·rust
星筏6 小时前
深入理解分布式锁:ZooKeeper vs Redis
redis·分布式·zookeeper
计算机学姐7 小时前
基于微信小程序的宠物服务系统【uniapp+springboot+vue】
java·vue.js·spring boot·mysql·微信小程序·uni-app·宠物
Knight_AL7 小时前
从 0 到 1:PG WAL → Debezium → Kafka → Spring Boot → Redis
spring boot·redis·kafka