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就正常服务了。

相关推荐
陈随易21 分钟前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
量化分析码农33 分钟前
【Python量化波动率实战 04】低波动异象:低波组真的跑赢高波组吗
后端
风上猫1 小时前
MySQL多值索引:让 JSON 数组也能走索引(以及 6 个容易踩的坑)
后端
码哥字节1 小时前
Redis 分布式锁的 7 个坑:从 setnx 到 Redlock
redis·分布式锁
逆回3 小时前
升级 Boot 4 后,我的 mock 全红了
spring boot
苏三说技术3 小时前
聊聊Redisson最常见的8个坑
后端
徐小黑ACG5 小时前
Redis-基础
数据库·redis·缓存
学长毕设6 小时前
基于SpringBoot的野生动物公益保护平台设计与实现-附源码
java·spring boot·后端