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)
上面这个注解用于清除缓存

浙公网安备 33010602011771号