SpringBoot Redis 缓存注解
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_faca7523/springboot-cache。
技能介绍
解决的问题
SpringBoot 项目常需要给已有方法加缓存,但直接散写 Redis get/set 会混入业务逻辑:key 规则不统一、参数对象变化难追踪、null 结果无法区分未缓存、复杂对象序列化分散。这个技能把 Redis 缓存收敛成注解,让开发者用 @CacheResult 标记方法即可接入缓存。
工作方式
技能基于 SpringBoot 基础项目结构生成缓存组件:CacheResult 注解、CacheResultAspect AOP 切面、CacheKeyGenerator Key 工具、RedisConfig 配置以及 CacheNullValue 标记类。它支持普通 key、SpEL spelKey 和默认策略,即 类名:方法名:参数摘要,并可通过 cacheTime 与 cacheTimeUnit 设置 TTL。复杂对象使用 GenericJackson2JsonRedisSerializer 序列化,缓存失败不会反向影响主流程。
适用边界
适合已有 SpringBoot + Redis 基础结构的项目,尤其适合方法返回值缓存、查询接口加速、参数对象 key 生成。它不替代业务级分布式锁、会话缓存、消息队列缓存策略;如果 key 依赖外部上下文、需要手动失效复杂关联数据,仍需业务侧显式管理。
使用场景
- 在已有SpringBoot项目中为查询方法添加Redis返回值缓存
- 用SpEL表达式按请求参数生成稳定缓存Key并设置TTL
- 通过AOP切面统一处理缓存读写、null标记和异常兜底
- 为复杂对象接入Jackson序列化并配置Redis缓存行为
适合人员
- 负责SpringBoot接口开发、需要给方法返回值加缓存的后端工程师
- 维护已有Redis缓存逻辑、希望把分散代码收敛成注解的工程师
- 使用SpringBoot初始化项目、需要接入AOP和Redis配置的开发者
- 处理复杂对象缓存Key生成与序列化一致性问题的技术人员