From 06cda3fb18a3241deff404f6948b02cc0d9a75a5 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 07 十二月 2022 19:13:58 +0800 Subject: [PATCH] update 优化 使用 spring 事件机制 重构 OssConfig 缓存更新 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/RedisUtils.java | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) 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 20f3ea3..80f5f52 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 @@ -110,14 +110,13 @@ * @since Redis 6.X 浠ヤ笂浣跨敤 setAndKeepTTL 鍏煎 5.X 鏂规 */ public static <T> void setCacheObject(final String key, final T value, final boolean isSaveTtl) { - RBucket<Object> bucket = CLIENT.getBucket(key); + RBucket<T> bucket = CLIENT.getBucket(key); if (isSaveTtl) { try { bucket.setAndKeepTTL(value); } catch (Exception e) { long timeToLive = bucket.remainTimeToLive(); - bucket.set(value); - bucket.expire(Duration.ofMillis(timeToLive)); + setCacheObject(key, value, Duration.ofMillis(timeToLive)); } } else { bucket.set(value); @@ -132,9 +131,11 @@ * @param duration 鏃堕棿 */ 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(duration); + RBatch batch = CLIENT.createBatch(); + RBucketAsync<T> bucket = batch.getBucket(key); + bucket.setAsync(value); + bucket.expireAsync(duration); + batch.execute(); } /** @@ -327,6 +328,17 @@ } /** + * 鑾峰緱缂撳瓨Map鐨刱ey鍒楄〃 + * + * @param key 缂撳瓨鐨勯敭鍊� + * @return key鍒楄〃 + */ + public static <T> Set<String> getCacheMapKeySet(final String key) { + RMap<String, T> rMap = CLIENT.getMap(key); + return rMap.keySet(); + } + + /** * 寰�Hash涓瓨鍏ユ暟鎹� * * @param key Redis閿� -- Gitblit v1.9.3