yubin il y a 2 jours
Parent
commit
6d9faf0d34

+ 34 - 0
backstage-service/src/main/java/com/txz/backstage/configurer/RedisConfig.java

@@ -0,0 +1,34 @@
+package com.txz.backstage.configurer;
+
+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.GenericJackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+@Configuration
+public class RedisConfig {
+
+    @Bean
+    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
+        // 1. 创建 RedisTemplate 实例
+        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
+        redisTemplate.setConnectionFactory(connectionFactory);
+
+        // 2. 配置 key 序列化器(String 格式,避免乱码)
+        StringRedisSerializer stringSerializer = new StringRedisSerializer();
+        redisTemplate.setKeySerializer(stringSerializer);         // 普通 key 序列化
+        redisTemplate.setHashKeySerializer(stringSerializer);     // Hash key 序列化
+
+        // 3. 配置 value 序列化器(JSON 格式,支持对象自动转换)
+        GenericJackson2JsonRedisSerializer jsonSerializer = new GenericJackson2JsonRedisSerializer();
+        redisTemplate.setValueSerializer(jsonSerializer);         // 普通 value 序列化
+        redisTemplate.setHashValueSerializer(jsonSerializer);     // Hash value 序列化
+
+        // 4. 初始化配置
+        redisTemplate.afterPropertiesSet();
+        return redisTemplate;
+    }
+
+}