From cbb0c98f987a69ed3d23d30d65799f1b426e32d2 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 11 十月 2021 17:59:27 +0800 Subject: [PATCH] add [重磅更新] 增加分布式日志框架 TLog --- 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