123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 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 }
- *
- * @author Michelle.Chung
- * @date 2022/8/13
- */
- @NoArgsConstructor(access = AccessLevel.PRIVATE)
- @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();
- }
- /**
- * 获取缓存值
- *
- * @param cacheNames 缓存组名称
- * @param key 缓存key
- */
- 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;
- }
- /**
- * 保存缓存值
- *
- * @param cacheNames 缓存组名称
- * @param key 缓存key
- * @param value 缓存值
- */
- public static void put(String cacheNames, Object key, Object value) {
- CACHE_MANAGER.getCache(cacheNames).put(key, value);
- }
- /**
- * 删除缓存值
- *
- * @param cacheNames 缓存组名称
- * @param key 缓存key
- */
- public static void evict(String cacheNames, Object key) {
- CACHE_MANAGER.getCache(cacheNames).evict(key);
- }
- /**
- * 清空缓存值
- *
- * @param cacheNames 缓存组名称
- */
- public static void clear(String cacheNames) {
- CACHE_MANAGER.getCache(cacheNames).clear();
- }
- }
|