Spring Cache 特点
- 通过少量的配置注解就可以使得代码支持缓存;
- 支持开箱即用,不需要再单独安装第三方缓存;
- 支持 Spring Express Language;
- 支持 AspectJ;
- 支持自定义key 和自定义缓存的管理者,具有相当的灵活性和扩展性;
Spring Cache 核心思想
- 当我们调用一个缓存方法时,会把该方法参数和返回结果作为一个键值对存放在缓存中,等下次利用同样的参数来调用方法时,将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用 Spring Cache 的时候,我们要保证,我们缓存的方法,对于相同的方法参数要有相同的返回结果;
Spring Cache 最主要的注解
- @EnableCache:开启缓存功能;
- @Cacheable(value = "accountCache"):定义缓存,用于触发缓存,标记在方法上,凡是调用这个方法后,方法的返回值就会存储在名为 accountCache 的缓存中;
- @CachePut:定义更新缓存,触发缓存更新;
- @CacheEvict:定义清除缓存,触发缓存清除;
- @Caching:组合定义多种缓存功能;
- @CacheConfig:定义公共设置,位于 class 之上;