??基于Spring5.x,详细介绍了Spring Cache提供的基于注解的声明式缓存的概念以及使用!比如@Cacheable、@CacheEvict、@CachePut、@Caching、@CacheConfig注解。
文章目录
- 1. Spring Cache概述
- 1.1 Spring Cache的由来
- 1.2 缓存(Cache)和缓冲区(Buffer)
- 1.3 了解Spring缓存抽象(Cache Abstraction)
- 1.4 Spring缓存抽象API
- 2 配置缓存存储
- 2.1 基于 JDK 的ConcurrentMap缓存
- 2.2 基于 Ehcache 的缓存
- 2.3 基于Caffeine的缓存
- 2.4 基于JSR-107规范的缓存
- 2.5 其他第三方缓存【redis】
- 3 配置声明式缓存
- 3.1 基于Spring注解的声明式缓存
- 3.1.1 启用缓存注解
- 3.1.2 测试配置
- 3.1.3 @Cacheable注解
- 3.1.3.1 简单测试
- 3.1.3.2 属性详解
-
- 3.1.3.3 key的生成
- 3.1.3.3.1 默认key生成
- 3.1.3.3.2 自定义key生成规则
- 3.1.3.4 缓存解析器
- 3.1.3.5 条件缓存
- 3.1.3.5.1 condition条件
- 3.1.3.5.2 unless条件
- 3.1.3.5.3 优先级和执行顺序
- 3.1.3.6 可用的缓存 SpEL 计算上下文
- 3.1.3.7 null缓存支持
- 3.1.3.8 标注在类上
- 3.1.4 @CachePut注解
- 3.1.5.1 属性详解
- 3.1.5.2 allEntries
- 3.1.5.3 beforeInvocation
- 3.1.6 @Caching注解
- 3.1.7 @CacheConfig注解
- 3.2 JCache (JSR-107)注解
- 3.3 基于XML的声明式缓存
- 4 Spring缓存抽象的总结
- 4.1 Spring缓存抽象的优点
- 4.2 Spring缓存抽象的缺点
- 4.3 总结
cs