|
@@ -0,0 +1,34 @@
|
|
|
+package com.txz.mall.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;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|