From 900867df021ea287d78eb3893c4e0bd7304e213c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Fri, 17 Sep 2021 16:19:12 +0800 Subject: [PATCH] =?UTF-8?q?add=20RedisUtils=20=E5=A2=9E=E5=8A=A0=E9=99=90?= =?UTF-8?q?=E6=B5=81=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/common/utils/RedisUtils.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtils.java index 5fcfb9dee..5ee7c1bdc 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtils.java @@ -25,6 +25,20 @@ public class RedisUtils { private static RedissonClient client = SpringUtils.getBean(RedissonClient.class); + /** + * 限流 + * + * @param key 限流key + * @param limitType 限流类型 + * @param rate 速率 + * @param rateInterval 速率间隔 + */ + public static boolean rateLimiter(String key, RateType rateType, int rate, int rateInterval) { + RRateLimiter rateLimiter = client.getRateLimiter(key); + rateLimiter.trySetRate(rateType, rate, rateInterval, RateIntervalUnit.SECONDS); + return rateLimiter.tryAcquire(); + } + /** * 发布通道消息 *