配置类:
@Configuration // 定义一个配置类
public class RedisConfig {
//object object
/*
* 用于redisApi
* */
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<Object, Object> template = new RedisTemplate();
template.setConnectionFactory(redisConnectionFactory);
// 使用JSON格式序列化对象,对缓存数据key和value进行转换
Jackson2JsonRedisSerializer jacksonSeial = new Jackson2JsonRedisSerializer(Object.class);
// 解决查询缓存转换异常的问题
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jacksonSeial.setObjectMapper(om);
// 设置RedisTemplate模板API的序列化方式为JSON
template.setDefaultSerializer(jacksonSeial);
return template;
}
}
使用方式;
1. 业务类中进行注入:
@Autowired
RedisTemplate redisTemplate;
2. 使用redisTemplate的内置方法:
2.1 获取redis中的数据
Object object = redisTemplate.opsForValue().get("course_" + id);
2.2 插入数据
redisTemplate.opsForValue().set("course_" + id, course, 1, TimeUnit.DAYS);