1.Spring Cache简介
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。
Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如:
- EHCache
- Caffeine
- Redis
2.Spring Cache常用注解
注解 | 说明 |
---|---|
@EnableCaching | 开启缓存注解功能,通常加在启动类上 |
@Cacheable | 在方法执行前先查询缓存中是否有数据,如果有数据,则直接返回缓存数据;如果没有缓存数据,调用方法并将方法返回值放到缓存中 |
@CachePut | 将方法的返回值放到缓存中 |
@CacheEvict | 将一条或多条数据从缓存中删除 |
3.在Springboot项目中使用Spring Cache缓存
如果要使用Redis缓存,则导入Redis相关的依赖即可,使用什么缓存导入什么依赖即可
1.导入springCache和Redis相关的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.在启动类上加入启动缓存的注解
@Slf4j
@SpringBootApplication
@EnableCaching //开启缓存注解
public class CacheDemoApplication {
public static void main(String[] args) {
SpringApplication.run(CacheDemoApplication.class,args);
log.info("项目启动成功...");
}
}
3.在方法上使用其他三个注解
@PostMapping
@CachePut(cacheNames = "userCache", key = "#user.id") //具体讲解使用可以参考下方的讲解视频,这里只是简单使用
public User save(@RequestBody User user){
userMapper.insert(user);
return user;
}
@GetMapping
@Cacheable(cacheNames = "userCache",key = "#id")
public User getById(Long id){
User user = userMapper.getById(id);
return user;
}
@DeleteMapping
@CacheEvict(cacheNames = "userCache",key = "#id")
public void deleteById(Long id){
userMapper.deleteById(id);
}
@DeleteMapping("/delAll")
@CacheEvict(cacheNames = "userCache",allEntries = true)
public void deleteAll(){
userMapper.deleteAll();
}
参考视频文章来源:https://www.toymoban.com/news/detail-683756.html
总结
该部分主要讲解springCache的四个注解和及其使用的方法,springCache主要是用于Springboot项目操作缓存的框架,应该注意不要导入多个缓存。文章来源地址https://www.toymoban.com/news/detail-683756.html
到了这里,关于Spring Cache快速入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!