第一步:创建一个springboot项目
第二步:引入redis依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
第三步:启动类开启缓存注解
@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients
@EnableCaching //开启缓存
public class SpringBootRedisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootRedisApplication.class, args);
}
}
第四步:添加redis配置类
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Bean
public CacheManager cacheManager(@Qualifier("redisTemplate") RedisTemplate template) {
return new RedisCacheManager(template);
}
@Bean("redisTemplate")
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(
Object.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, Visibility.ANY);
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
RedisTemplate<String, Object> template = new RedisTemplate<>();
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(Charset.forName("UTF-8"));
template.setConnectionFactory(redisConnectionFactory);
template.setKeySerializer(stringRedisSerializer);
template.setValueSerializer(jackson2JsonRedisSerializer);
template.setHashKeySerializer(stringRedisSerializer);
template.setHashValueSerializer(jackson2JsonRedisSerializer);
return template;
}
}
第五步:编写测试方法,在方法上添加注解使用缓存
/**
* @Title: cachePut
* @Description: cachePut测试
* @return
* @return: Object
*/
@CachePut(value = "test", key = "'test:put'")
public Object cachePut() {
System.out.println("未走缓存");
return "cachePut";
}
/**
* @Title: cacheable
* @Description: cacheable测试
* @return
* @return: Object
*/
@Cacheable(value = "test", key = "'test:able'")
public Object cacheable() {
System.out.println("未走缓存");
return "Cacheable";
}
[源码下载链接](https://download.csdn.net/download/steven_sf/10779724)