From 634882c2f1dfe401700dcdccb0482cd78663e48a287482d740a17e3f83c4b86e Mon Sep 17 00:00:00 2001 From: yanglei Date: Mon, 17 Nov 2025 14:43:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EredisConfig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cdzy/operations/config/RedisConfig.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ebike-operations/src/main/java/com/cdzy/operations/config/RedisConfig.java diff --git a/ebike-operations/src/main/java/com/cdzy/operations/config/RedisConfig.java b/ebike-operations/src/main/java/com/cdzy/operations/config/RedisConfig.java new file mode 100644 index 0000000..105df32 --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/config/RedisConfig.java @@ -0,0 +1,39 @@ +package com.cdzy.operations.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +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; + + +/** + * @author attiya + * @since 2025-03-20 + */ +@Configuration +public class RedisConfig { + + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory factory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(factory); + + // 使用Jackson2JsonRedisSerializer序列化值 + Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer<>(Object.class); + ObjectMapper mapper = new ObjectMapper(); + mapper.activateDefaultTyping(mapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL); + serializer.setObjectMapper(mapper); + + // 设置键和值的序列化器 + template.setKeySerializer(new StringRedisSerializer()); + template.setValueSerializer(serializer); + template.setHashKeySerializer(new StringRedisSerializer()); + template.setHashValueSerializer(serializer); + + template.afterPropertiesSet(); + return template; + } +}