用途:介绍 Spring Boot 3.x 的 Spring Cache 抽象,帮助在服务方法上声明式地添加缓存,减少重复查询。
主要能力:支持 @Cacheable(缓存返回值,可配 key、condition、unless、sync)、@CacheEvict(删除缓存,支持 allEntries、beforeInvocation)、@CachePut(更新缓存)、@Caching(组合多个操作)以及类级 @CacheConfig。可配置 Caffeine(单实例)、Redis(分布式)、EhCache 等缓存管理器,并设置 TTL、序列化与统计。
使用方式:在启动类加 @EnableCaching;在方法上使用缓存注解;通过 application.yml 的 spring.cache.type 指定缓存类型,例如 caffeine 并配置 spec;也可用 @Bean 定义 CacheManager,如 CaffeineCacheManager 或 RedisCacheManager。
适用场景:单实例应用用 Caffeine,分布式用 Redis;对昂贵操作使用 sync=true;写操作后需清理缓存。
限制与注意:内部自调用不会触发缓存,需自注入;缓存可变对象易产生脏数据;必须配置 TTL 避免内存泄漏;void 方法上 @Cacheable 无效;分布式缓存、Redis 操作、会话存储应使用其他技能。资料未提供具体版本兼容范围与性能数据。