reids自定义RedisTemplate以及乱码问题解决
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(lettuceConnectionFactory);
// 设置键序列化器为StringRedisSerializer
template.setKeySerializer(new StringRedisSerializer());
// 设置值序列化器为Jackson2JsonRedisSerializer
template.setValueSerializer(new Jackson2JsonRedisSerializer<>(Object.class));
// 初始化RedisTemplate
template.afterPropertiesSet();
return template;
}
}
这段代码定义了一个配置类RedisConfig
,其中创建了一个自定义的RedisTemplate
bean,键和值都采用了StringRedisSerializer
和Jackson2JsonRedisSerializer
。这样可以避免存储到Redis中的数据出现乱码问题。在实际使用时,需要确保Object.class
是你要序列化的具体类,否则可能会导致序列化异常。
评论已关闭