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)

上面这个注解用于清除缓存

posted @   天启A  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2023-02-03 Intent 显示与隐式了解认识
点击右上角即可分享
微信分享提示