From aaa15b403a89490a33a45d68c8b7cfa34d87b175 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 20 十月 2021 13:22:45 +0800 Subject: [PATCH] add [重大更新]增加 ruoyi-job 任务调度模块(基于xxl-job) --- ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtils.java | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) 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 5fcfb9d..769ee71 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 @@ -26,6 +26,32 @@ private static RedissonClient client = SpringUtils.getBean(RedissonClient.class); /** + * 闄愭祦 + * + * @param key 闄愭祦key + * @param rateType 闄愭祦绫诲瀷 + * @param rate 閫熺巼 + * @param rateInterval 閫熺巼闂撮殧 + * @return -1 琛ㄧず澶辫触 + */ + public static long rateLimiter(String key, RateType rateType, int rate, int rateInterval) { + RRateLimiter rateLimiter = client.getRateLimiter(key); + rateLimiter.trySetRate(rateType, rate, rateInterval, RateIntervalUnit.SECONDS); + if (rateLimiter.tryAcquire()) { + return rateLimiter.availablePermits(); + } else { + return -1L; + } + } + + /** + * 鑾峰彇瀹炰緥id + */ + public static String getClientId() { + return client.getId(); + } + + /** * 鍙戝竷閫氶亾娑堟伅 * * @param channelKey 閫氶亾key -- Gitblit v1.9.3