您现在的位置是:首页 >其他 >Spring Cache网站首页其他
Spring Cache
简介Spring Cache
简介
基于注解的缓存功能,提供了一层抽象,底层切换不同的cache实现。具体是通过CacheManager接口来统一不同的缓存技术。
CacheManager是Spring提供的各种缓存技术抽象接口。
针对不同的缓存技术需要实现不同的CacheManager
常用注解
在springboot项目中,使用缓存技术只需要在项目中导入相关缓存技术的依赖包,并在启动类上使用@EnableCaching开启缓存支持即可
例如:使用Redis作为缓存技术,只需要导入 Spring data Redis的Maven坐标即可
@CachePut将返回值放到缓存,多用于插入
@CachePut(value=“”,key=“”)
value代表缓存名称,比如说用户缓存,菜品缓存,可以认为是一类缓存
key代表缓存的key,可以动态引用
比如:(这种表达式叫SpEL)
- #result.id(result返回值),
- #root.method(root内置对象),#root.methodName
- #user.name(user参数名)
- #root.args[0],第一个参数,
- #p0,也是第一个参数
@CacheEvice将一条或者多条数据从缓存中删除,多用于修改,删除
@CacheEvict(value=“”,key=“”)
key也是用SpEL表达式
- allEntries=true删除这个名称的所有缓存
@Cacheable执行spring前查看缓存,有数据直接返回,没有则保存到缓存,多用于查询
@Cacheable(value=" “,key=” ")
key也是用SpEL表达式
- unless="#result == null"判断返回结果为空就不缓存
- key=“#user.id+‘_’+user.name”,根据条件查询
缓存产品使用Redis
默认使用的是Map集合,重启服务将不存在
引入一下依赖,即可使用Redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。