SpringBoot缓存问题
缓存在实际开发中肯定会遇到的,为了减轻数据库的压力,很多的项目都使用了缓存来达到数据快速访问,可以给用户达到良好的体验。不然,客户一个请求响应半天,谁受得了。
但是,很多人在使用缓存中,会遇到缓存带来的麻烦。比如:数据库查询出来的数据和缓存数据不一致的问题。就是缓存滞后的问题导致的。
开启缓存
缓存的使用很简单,只需要在主类上加上@EnableCaching注解即可开启。
@SpringBootApplication
@EnableAutoConfiguration
@EnableCaching
public class SpringbootcacheApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootcacheApplication.class, args);
}
}
只有在这里开启注解,后面才可以使用缓存,否则无效的。
具体注解
@CacheConfig
@CacheConfig全局配置缓存,这个只需要配置到类上,就可以不需要二次配置,接收一个缓存的名字cacheNames。这里定义了缓存名字,其他地方就自动使用该缓存名字进行缓存。
@Cacheable
主要缓存注解。这个注解就是起到缓存查询不到,自动到数据库查询的功能效果。属性:cacheNames:缓存名字,condtion:缓存的条件,unless:不缓存的条件。缓存内部实现也是一个key value的形式。指定了key,就以key作为建进行缓