RedisTemplate、StringRedisTemplate、序列化器配置
在Spring Boot中配置Redis的StringRedisTemplate
和RedisTemplate
通常涉及到序列化器的配置,因为Redis需要将Java对象转换为字节流以便存储。以下是一个配置示例:
@Configuration
public class RedisConfig {
@Bean
public LettuceConnectionFactory redisConnectionFactory() {
return new LettuceConnectionFactory(); // 配置你的Redis连接信息
}
@Bean
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory connectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
template.afterPropertiesSet();
return template;
}
@Bean
public StringRedisTemplate stringRedisTemplate(LettuceConnectionFactory connectionFactory) {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(connectionFactory);
return template;
}
}
在这个配置中,我们定义了两个Bean:redisTemplate
和stringRedisTemplate
。redisTemplate
使用GenericJackson2JsonRedisSerializer
作为值的序列化器,这意味着我们可以存储任何可以被Jackson序列化的对象。StringRedisTemplate
仅用于存储字符串。
请根据你的项目需求和环境(例如使用的序列化库和连接池)来调整配置细节。
评论已关闭