Files
rate-limit-starter/readme.md
amos wong b3fbe9f9e4 master
2025-05-10 21:16:46 +08:00

60 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 简介
rate-limit-starter是基于redisson框架封装的限流框架提供注解式@RateLimit限流
全部特性:
- Spring Boot支持
- @RateLimit注解限流
- 多限流策略组合
- 可扩展限流方式自己扩展IRateLimitHandler进行实现默认是redisson
## 使用说明
**引入maven依赖**
需要引入redisson依赖 以及 hutool
```xml
<dependency>
<groupId>com.deepinnet</groupId>
<artifactId>rate-limit-starter</artifactId>
<version>0.0.1-SNAPSHOT</version><!--最新版本-->
</dependency>
```
**开启@EnableRateLimit**
```java
@SpringBootApplication
@EnableRateLimit
public class Application {
public static void main(String[] args) {
SpringApplication.run(PropertyTestApplication.class, args);
}
}
```
**需要限流的方法标记注解@RateLimit**
```java
@RateLimit(
// 唯一标示支持SpEL表达式可无#name 为获取当前访问参数 name 内容
// key = "#code",
// 限定阈值,时间间隔 interval 范围内超过该数量会触发锁
count = 3,
// 限制间隔时长(可无,默认 3 分钟)例如 5s 五秒6m 六分钟7h 七小时8d 八天
interval = "6m",
// 策略(可无) ip 为获取当前访问IP地址内置策略
strategy = {IpKeyGenerateStrategy.TYPE}
)
public void limit(){
}
```