From e18cf51c0170490c80bb9b7c794f6f4ed1fad938 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期六, 30 四月 2022 22:21:49 +0800
Subject: [PATCH] update 优化 RedisUtils 重构过期方法
---
ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java | 4 ++--
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java | 2 +-
ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java | 4 ++--
ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/RedisUtils.java | 22 ++++++++++------------
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java | 4 ++--
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java | 4 ++--
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java | 4 ++--
ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java | 10 +++++-----
8 files changed, 26 insertions(+), 28 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
index a19be65..2b9917f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
@@ -19,9 +19,9 @@
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.time.Duration;
import java.util.HashMap;
import java.util.Map;
-import java.util.concurrent.TimeUnit;
/**
* 楠岃瘉鐮佹搷浣滃鐞�
@@ -60,7 +60,7 @@
captcha.setGenerator(codeGenerator);
captcha.createCode();
String code = isMath ? getCodeResult(captcha.getCode()) : captcha.getCode();
- RedisUtils.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
+ RedisUtils.setCacheObject(verifyKey, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
ajax.put("uuid", uuid);
ajax.put("img", captcha.getImageBase64());
return R.ok(ajax);
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/RedisUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/RedisUtils.java
index 5a15d46..b0f35d8 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/RedisUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/RedisUtils.java
@@ -6,11 +6,11 @@
import lombok.NoArgsConstructor;
import org.redisson.api.*;
+import java.time.Duration;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
/**
@@ -107,7 +107,7 @@
} catch (Exception e) {
long timeToLive = bucket.remainTimeToLive();
bucket.set(value);
- bucket.expire(timeToLive, TimeUnit.MILLISECONDS);
+ bucket.expire(Duration.ofMillis(timeToLive));
}
} else {
bucket.set(value);
@@ -119,13 +119,12 @@
*
* @param key 缂撳瓨鐨勯敭鍊�
* @param value 缂撳瓨鐨勫��
- * @param timeout 鏃堕棿
- * @param timeUnit 鏃堕棿棰楃矑搴�
+ * @param duration 鏃堕棿
*/
- public static <T> void setCacheObject(final String key, final T value, final long timeout, final TimeUnit timeUnit) {
+ public static <T> void setCacheObject(final String key, final T value, final Duration duration) {
RBucket<T> result = CLIENT.getBucket(key);
result.set(value);
- result.expire(timeout, timeUnit);
+ result.expire(duration);
}
/**
@@ -149,20 +148,19 @@
* @return true=璁剧疆鎴愬姛锛沠alse=璁剧疆澶辫触
*/
public static boolean expire(final String key, final long timeout) {
- return expire(key, timeout, TimeUnit.SECONDS);
+ return expire(key, Duration.ofSeconds(timeout));
}
/**
* 璁剧疆鏈夋晥鏃堕棿
*
- * @param key Redis閿�
- * @param timeout 瓒呮椂鏃堕棿
- * @param unit 鏃堕棿鍗曚綅
+ * @param key Redis閿�
+ * @param duration 瓒呮椂鏃堕棿
* @return true=璁剧疆鎴愬姛锛沠alse=璁剧疆澶辫触
*/
- public static boolean expire(final String key, final long timeout, final TimeUnit unit) {
+ public static boolean expire(final String key, final Duration duration) {
RBucket rBucket = CLIENT.getBucket(key);
- return rBucket.expire(timeout, unit);
+ return rBucket.expire(duration);
}
/**
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
index 98cca18..9fc9307 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
@@ -12,7 +12,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import java.util.concurrent.TimeUnit;
+import java.time.Duration;
/**
* spring-cache 婕旂ず妗堜緥
@@ -87,7 +87,7 @@
@GetMapping("/test6")
public R<Boolean> test6(String key, String value) {
RedisUtils.setCacheObject(key, value);
- boolean flag = RedisUtils.expire(key, 10, TimeUnit.SECONDS);
+ boolean flag = RedisUtils.expire(key, Duration.ofSeconds(10));
System.out.println("***********" + flag);
try {
Thread.sleep(11 * 1000);
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java
index aedc443..b77acb4 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java
@@ -25,9 +25,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.time.Duration;
import java.util.Collection;
import java.util.Map;
-import java.util.concurrent.TimeUnit;
/**
* 闃叉閲嶅鎻愪氦(鍙傝�冪編鍥TIS闃查噸绯荤粺)
@@ -66,7 +66,7 @@
String cacheRepeatKey = Constants.REPEAT_SUBMIT_KEY + url + submitKey;
String key = RedisUtils.getCacheObject(cacheRepeatKey);
if (key == null) {
- RedisUtils.setCacheObject(cacheRepeatKey, "", interval, TimeUnit.MILLISECONDS);
+ RedisUtils.setCacheObject(cacheRepeatKey, "", Duration.ofMillis(interval));
KEY_CACHE.set(cacheRepeatKey);
} else {
String message = repeatSubmit.message();
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
index 22ef7c1..2424981 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
@@ -109,7 +109,7 @@
* 瀹夊叏妯″紡锛岃繖閲屾寚瀹歵oken閫氳繃Authorization澶磋姹傚ご浼犻��
*/
private List<SecurityScheme> securitySchemes() {
- List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>();
+ List<SecurityScheme> apiKeyList = new ArrayList<>();
String header = saTokenConfig.getTokenName();
apiKeyList.add(new ApiKey(header, header, In.HEADER.toValue()));
return apiKeyList;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
index 75277c2..88b2364 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
@@ -18,7 +18,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
-import java.util.concurrent.TimeUnit;
+import java.time.Duration;
/**
* 鐢ㄦ埛琛屼负 渚﹀惉鍣ㄧ殑瀹炵幇
@@ -52,7 +52,7 @@
dto.setTokenId(tokenValue);
dto.setUserName(user.getUsername());
dto.setDeptName(user.getDeptName());
- RedisUtils.setCacheObject(Constants.ONLINE_TOKEN_KEY + tokenValue, dto, tokenConfig.getTimeout(), TimeUnit.SECONDS);
+ RedisUtils.setCacheObject(Constants.ONLINE_TOKEN_KEY + tokenValue, dto, Duration.ofSeconds(tokenConfig.getTimeout()));
log.info("user doLogin, userId:{}, token:{}", loginId, tokenValue);
} else if (userType == UserType.APP_USER) {
// app绔� 鑷鏍规嵁涓氬姟缂栧啓
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java
index f78e814..a08503d 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java
@@ -5,10 +5,10 @@
import com.ruoyi.common.utils.redis.RedisUtils;
import org.springframework.stereotype.Component;
+import java.time.Duration;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.concurrent.TimeUnit;
/**
* Sa-Token鎸佷箙灞傛帴鍙�(浣跨敤妗嗘灦鑷甫RedisUtils瀹炵幇 鍗忚缁熶竴)
@@ -38,7 +38,7 @@
if (timeout == SaTokenDao.NEVER_EXPIRE) {
RedisUtils.setCacheObject(key, value);
} else {
- RedisUtils.setCacheObject(key, value, timeout, TimeUnit.SECONDS);
+ RedisUtils.setCacheObject(key, value, Duration.ofSeconds(timeout));
}
}
@@ -87,7 +87,7 @@
}
return;
}
- RedisUtils.expire(key, timeout, TimeUnit.SECONDS);
+ RedisUtils.expire(key, Duration.ofSeconds(timeout));
}
@@ -111,7 +111,7 @@
if (timeout == SaTokenDao.NEVER_EXPIRE) {
RedisUtils.setCacheObject(key, object);
} else {
- RedisUtils.setCacheObject(key, object, timeout, TimeUnit.SECONDS);
+ RedisUtils.setCacheObject(key, object, Duration.ofSeconds(timeout));
}
}
@@ -160,7 +160,7 @@
}
return;
}
- RedisUtils.expire(key, timeout, TimeUnit.SECONDS);
+ RedisUtils.expire(key, Duration.ofSeconds(timeout));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
index e0b53c1..f60419f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
@@ -27,8 +27,8 @@
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
+import java.time.Duration;
import java.util.List;
-import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
/**
@@ -248,7 +248,7 @@
errorNumber = ObjectUtil.isNull(errorNumber) ? 1 : errorNumber + 1;
// 杈惧埌瑙勫畾閿欒娆℃暟 鍒欓攣瀹氱櫥褰�
if (errorNumber.equals(setErrorNumber)) {
- RedisUtils.setCacheObject(errorKey, errorNumber, errorLimitTime, TimeUnit.MINUTES);
+ RedisUtils.setCacheObject(errorKey, errorNumber, Duration.ofMinutes(errorLimitTime));
asyncService.recordLogininfor(username, loginFail, MessageUtils.message(loginType.getRetryLimitExceed(), errorLimitTime), request);
throw new UserException(loginType.getRetryLimitExceed(), errorLimitTime);
} else {
--
Gitblit v1.9.3