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 @ 2024-02-03 20:43  天启A  阅读(19)  评论(0)    收藏  举报