RedisConfig

@Configuration
public class RedisConfig {
@Bean
@SuppressWarnings("all")
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
// 我们为了自己开发方便,一般直接使用 <String, Object>
RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
template.setConnectionFactory(factory);
// Json序列化配置
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
// String 的序列化
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
// key采用String的序列化方式
template.setKeySerializer(stringRedisSerializer);
// hash的key也采用String的序列化方式
template.setHashKeySerializer(stringRedisSerializer);
// value序列化方式采用jackson
template.setValueSerializer(jackson2JsonRedisSerializer);
// hash的value序列化方式采用jackson
template.setHashValueSerializer(jackson2JsonRedisSerializer);
template.afterPropertiesSet();
return template;
}
}
RedisConfig 是一个用于配置 Redis 相关的类。下面是一个示例的 RedisConfig 类的实现,用于配置 RedisTemplate: ```java 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 redisConnectionFactory) { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(redisConnectionFactory); // 设置 key 的序列化器为 StringRedisSerializer redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setHashKeySerializer(new StringRedisSerializer()); // 设置 value 的序列化器为 GenericJackson2JsonRedisSerializer redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer()); return redisTemplate; } } ``` 在上述代码中,我们通过 `@Configuration` 注解将该类标记为配置类,然后使用 `@Bean` 注解将 `RedisTemplate` 对象注入到 Spring 容器中。 在 `redisTemplate` 方法中,我们首先创建了一个 `RedisTemplate` 对象,并设置了连接工厂(`redisConnectionFactory`)。接下来,我们设置了键(key)的序列化器为 `StringRedisSerializer`,这样可以保证键以字符串形式存储在 Redis 中。同时,我们设置了值(value)的序列化器为 `GenericJackson2JsonRedisSerializer`,这样可以将对象以 JSON 格式存储在 Redis 中。 根据你的实际需求,你可以进一步配置 Redis 的其他属性,例如连接池配置、缓存过期时间等。这里只是一个简单的示例来展示如何配置 RedisTemplate。 确保将上述代码放置在正确的包路径下,并在 Spring Boot 的启动类上使用 `@Import(RedisConfig.class)` 注解来导入 RedisConfig 配置类。这样就可以在项目中使用 `redisTemplate` 对象来操作 Redis 数据库了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值