From f9a9431958e58903d97a86cd08497165ae77beaf Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期日, 14 八月 2022 01:49:05 +0800 Subject: [PATCH] update 优化 pr215 解决一些问题 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/CacheUtils.java | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/cache/CacheUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/CacheUtils.java similarity index 65% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/cache/CacheUtils.java rename to ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/CacheUtils.java index 6f77ae8..9e0b09b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/cache/CacheUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/CacheUtils.java @@ -1,9 +1,13 @@ -package com.ruoyi.common.utils.cache; +package com.ruoyi.common.utils.redis; import com.ruoyi.common.utils.spring.SpringUtils; import lombok.AccessLevel; import lombok.NoArgsConstructor; +import org.redisson.api.RMap; +import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; + +import java.util.Set; /** * 缂撳瓨鎿嶄綔宸ュ叿绫� {@link } @@ -12,10 +16,20 @@ * @date 2022/8/13 */ @NoArgsConstructor(access = AccessLevel.PRIVATE) -@SuppressWarnings(value = {"unchecked", "rawtypes"}) +@SuppressWarnings(value = {"unchecked"}) public class CacheUtils { private static final CacheManager CACHE_MANAGER = SpringUtils.getBean(CacheManager.class); + + /** + * 鑾峰彇缂撳瓨缁勫唴鎵�鏈夌殑KEY + * + * @param cacheNames 缂撳瓨缁勫悕绉� + */ + public static Set<Object> keys(String cacheNames) { + RMap<Object, Object> rmap = (RMap<Object, Object>) CACHE_MANAGER.getCache(cacheNames).getNativeCache(); + return rmap.keySet(); + } /** * 鑾峰彇缂撳瓨鍊� @@ -23,8 +37,9 @@ * @param cacheNames 缂撳瓨缁勫悕绉� * @param key 缂撳瓨key */ - public static Object get(String cacheNames, Object key) { - return CACHE_MANAGER.getCache(cacheNames).get(key).get(); + public static <T> T get(String cacheNames, Object key) { + Cache.ValueWrapper wrapper = CACHE_MANAGER.getCache(cacheNames).get(key); + return wrapper != null ? (T) wrapper.get() : null; } /** -- Gitblit v1.9.3