1、什么是缓存,为什么要用缓存?
缓存就是数据交换的缓冲区(称作Cache),是存贮数据(使用频繁的数据)的临时地方。当用户查询数据,首先在缓存中寻找,如果找到了则直接执行。如果找不到,则去数据库中查找。
缓存的本质就是用空间换时间,牺牲数据的实时性,以服务器内存中的数据暂时代替从数据库读取最新的数据,减少数据库IO,减轻服务器压力,减少网络延迟,加快页面打开速度。
2、Spring Boot中缓存
Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发;
1.Cache接口为缓存的组件规范定义,包含缓存的各种操作集合;
2.Cache接口下Spring提供了各种xxxCache的实现;如RedisCache,EhCacheche,
ConcurrenMapCacheManager(springboot的默认缓存管理器)等;
3.每次调用需要缓存功能的方法时,Spring会检查检查指定参数的指定的目标方法是否已经被调用过;
如果有就直接从缓存中获取方法调用后的结果,如果没有就调用方法并缓存结果后返回给用户。
4.使用Spring缓存抽象时我们需要关注以下两点:
1.确定方法需要被缓存以及他们的缓存策略
2.从缓存中读取之前缓存存储的数据
3、Spring Boot缓存重要注解
1.Spring提供的重要缓存注解
1.@Cacheable:针对方法