diff --git a/common/common-core/pom.xml b/common/common-core/pom.xml
index ca0e2da..257124d 100644
--- a/common/common-core/pom.xml
+++ b/common/common-core/pom.xml
@@ -56,6 +56,15 @@
junit-jupiter
test
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ redis.clients
+ jedis
+
diff --git a/common/common-core/src/main/java/com/tacit/common/utils/JSONUtils.java b/common/common-core/src/main/java/com/tacit/common/utils/JSONUtils.java
new file mode 100644
index 0000000..afda4a6
--- /dev/null
+++ b/common/common-core/src/main/java/com/tacit/common/utils/JSONUtils.java
@@ -0,0 +1,26 @@
+package com.tacit.common.utils;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.tacit.common.exception.BusinessException;
+
+public class JSONUtils {
+ public static final ObjectMapper OBJECT_MAPPER = new ObjectMapper()
+ .registerModule(new JavaTimeModule());
+ /**
+ *
+ * @param obj
+ * @return
+ */
+ public static String obj2String(T obj) {
+ if (obj == null) {
+ return null;
+ }
+ try {
+ return obj instanceof String ? (String)obj : OBJECT_MAPPER.writeValueAsString(obj);
+ } catch (JsonProcessingException e) {
+ throw new BusinessException("object 序列化错误");
+ }
+ }
+}
diff --git a/common/common-core/src/main/java/com/tacit/common/utils/RedisConfig.java b/common/common-core/src/main/java/com/tacit/common/utils/RedisConfig.java
new file mode 100644
index 0000000..d35619d
--- /dev/null
+++ b/common/common-core/src/main/java/com/tacit/common/utils/RedisConfig.java
@@ -0,0 +1,45 @@
+package com.tacit.common.utils;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+@Configuration
+public class RedisConfig {
+
+ @Bean
+ public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
+ RedisTemplate template = new RedisTemplate<>();
+ template.setConnectionFactory(factory);
+
+ // key 使用 String 序列化
+ template.setKeySerializer(new StringRedisSerializer());
+ template.setHashKeySerializer(new StringRedisSerializer());
+
+ // value 使用 JSON 序列化
+ Jackson2JsonRedisSerializer