springboot 学习之路 25(springboot缓存)
springboot缓存:
以前我介绍过springboot与ecache和redis的搭建配置过程,但是没详细介绍过缓存,今天来带搭建详细介绍springboot的缓存,
关于之前的博客:
springboot 学习之路 13 (集成ehcache)
springboot 学习之路 21 (集成redis集群做缓存架构)
不了解怎么集成ecache或者redis的可以参考上面的博客,去学习一下。
Spring-Boot-Cache
Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发;
- 
Cache接口为缓存的组件规范定义,包含缓存的各种操作集合; 
- 
Cache接口下Spring提供了各种xxxCache的实现;如RedisCache,EhCacheCache ,ConcurrentMapCache等; 
- 
每次调用需要缓存功能的方法时,Spring会检查检查指定参数的指定的目标方法是否已经被调用过;如果有就直接从缓存中获取方法调用后的结果,如果没有就调用方法并缓存结果后返回给用户。下次调用直接从缓存中获取。 
- 
使用Spring缓存抽象时我们需要关注以下两点; 1、确定方法需要被缓存以及他们的缓存策略 2、从缓存中读取之前缓存存储的数据 
   Spring 的缓存技术还具备相当的灵活性,不仅能够使用 SpEL(Spring Expression Language)来定义缓存的 key 和各种 condition,还提供开箱即用的缓存临时存储方案,也支持和主流的专业缓存例如 EHCache 集成。 
     其特点总结如下: 
       1. 通过少量的配置 annotation 注释即可使得既有代码支持缓存 
       2. 支持开箱即用 Out-Of-The-Box,即不用安装和部署额外第三方组件即可使用缓存 
       3. 支持 Spring Express Language,能使用对象的任何属性或者方法来定义缓存的 key 和 condition 
       4. 支持 AspectJ,并通过其实现任何方法的缓存支持 
       5. 支持自定义 key 和自定义缓存管理者,具有相当的灵活性和扩展性
Spring缓存支持
Spring定义了org.springframework.cache.CacheManager和org.springframework.cache.Cache接口用来统一不同的缓存的技术。其中,CacheManager是Spring提供的各种缓存技术抽象接口,Cache接口包含缓存的各种操作(增加、删除、获得缓存,我们一般不会直接和此接口打交道)。
  
基础概念
常用注解:
   
 
部分参数:
  
SpEL上下文数据
   
springboot整合:
关于springboot的整合我在之前的博客中已经整合了关于ecache和redis的方式。下面我就只简单介绍一下上面那些注解使用与注意项
  
  
本文来自博客园,作者:huhy,转载请注明原文链接:https://www.cnblogs.com/huhongy/p/10076295.html

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号