SpringCache
Spring Cache 是Spring 提供的一整套的缓存解决方案,它不是具体的缓存实现,它只提供一整套的接口和代码规范、配置、注解等,用于整合各种缓存方案,比如Caffeine、Guava Cache、Ehcache。
SPEL用于动态计算密钥,在cacheput中用于动态计算key
有以下使用方法,
//@CachePut(cacheNames = "userCache",key = "#root.args[0].id") // 从第一个参数里获取id //@CachePut(cacheNames = "userCache",key = "#p0.id") // 从第一个参数里获取id //@CachePut(cacheNames = "userCache",key = "#result.id") // 从return的user里获取id @CachePut(cacheNames = "userCache",key = "#user.id") // 从形参里的user获取id
//这里使用的是spEL表达式 在redis生成key:userCache::1
注意,上面的这个切点是after,在return后执行
@Cacheable(cacheNames = "userCache",key = "#id")
上面这个注释会在缓存里先查询,如果查询不到对应的信息会先执行方法,再把方法返回的数据放进缓存里
@CacheEvict(cacheNames = "userCache",allEntries = true)
上面这个注解用于清除缓存
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2023-02-03 Intent 显示与隐式了解认识