From 57df2690da79e420b8e0510895cba8d5d903d8c3 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 10 六月 2021 20:23:15 +0800
Subject: [PATCH] update spring-cache 整合 redisson

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java   |   16 ++++++++++++++++
 ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java |   10 ++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
index e80e3d6..c3c71ef 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.core.redis.RedisLockManager;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -62,4 +63,13 @@
 		}
 		return AjaxResult.success();
 	}
+
+	/**
+	 * 娴嬭瘯spring-cache娉ㄨВ
+	 */
+	@Cacheable(value = "test", key = "#key")
+	@GetMapping("/testCache")
+	public AjaxResult<String> testCache(String key) {
+		return AjaxResult.success("鎿嶄綔鎴愬姛", key);
+	}
 }
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
index e86f5bc..95c7572 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
@@ -6,15 +6,20 @@
 import org.redisson.api.RedissonClient;
 import org.redisson.codec.JsonJacksonCodec;
 import org.redisson.config.Config;
+import org.redisson.spring.cache.CacheConfig;
+import org.redisson.spring.cache.RedissonSpringCacheManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
+import org.springframework.cache.CacheManager;
 import org.springframework.cache.annotation.CachingConfigurerSupport;
 import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * redis閰嶇疆
@@ -67,4 +72,15 @@
 			.setDnsMonitoringInterval(singleServerConfig.getDnsMonitoringInterval());
 		return Redisson.create(config);
 	}
+
+	/**
+	 * 鏁村悎spring-cache
+	 */
+	@Bean
+	public CacheManager cacheManager(RedissonClient redissonClient) {
+		Map<String, CacheConfig> config = new HashMap<>();
+		config.put("redissonCacheMap", new CacheConfig(30*60*1000, 10*60*1000));
+		return new RedissonSpringCacheManager(redissonClient, config, JsonJacksonCodec.INSTANCE);
+	}
+
 }

--
Gitblit v1.9.3