SpringCache

实现了基于注解的缓存功能
导入依赖org.springframwork.boot
spring-boot-starter-cache
spring-boot-starter-data-redis
2.7.3
@EnableCaching 一般放在启动类上,表示我们使用基于注解的缓存功能----开启缓存注解功能
@Cacheable 一般加在方法上,如果查询到缓存, 就返回缓存数据,没查到就调用方法,并把数据放入缓存中。----一般用于getById
@CachePut 将方法的返回值放入到缓存中 ---------- 一般用于新增
@CacheEvict一条或多条数据从缓存中删除

为使得键不为重复而覆盖数据,可以选取主键作为key来缓存返回值,这里result代表返回值,如果取第一个参数则#p0第二个参数呢就#p1
a0也代表第一个参数
下面的#result也可以是#user.id同样可以取到返回值的属性

这里首先使用enable开启缓存注解
齐次controller层方法上加入
CachePut(cacheNames = “根据业务取名字”,key=“#result.id”)
public User save(@RequestBody User user){
userMapper.insert(user);
return user;
}

redis可以存储为树形结构,若set 键为a🅱️c:d则为树形的若俩::则中间会夹杂empty

@CacheEvict一条或多条数据从缓存中删除 调用的参数等同于CachePut和Cacheable
如果删除所有的缓存数据,则不用key用@CacheEvict(cacheNames = "userCache",allEntries=true)

posted @ 2024-05-20 23:08  launch  阅读(5)  评论(0编辑  收藏  举报