Spring缓存注解

Spring缓存注解

1.缓存是什么

缓存是一种数据存储技术,它将计算结果或数据存储在一个临时存储区域,以便在将来的请求中可以更快地获取这些数据。在计算机科学中,缓存通常用于加速数据访问速度,减轻后端系统的负载,提高应用程序的性能和响应速度。简单来说就是使我们在后面的查询会更快一点。

image-20231018190627423

上图是简单的缓存的示意图,第一次我们从数据库取数据的时候,同时也在缓存中存入了数据,当我们第二次进行查询的时候就不是通过数据库来进行查询了,而是通过缓存来读取数据。这样就要比从数据库中直接读取数据要快很多。

2.Spring缓存注解的解释

序号注解解释
1@Cacheable注解就可以将运行结果缓存,以后查询相同的数据,直接从缓存中取,不需要调用方法。
2@CacheEvict是用来标注在需要清除缓存元素的方法或类上的。当标记在一个类上时表示其中所有的方法的执行都会触发缓存的清除操作。
3@CachePut也可以声明一个方法支持缓存功能。与@Cacheable不同的是使用@CachePut标注的方法在执行前不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中。
4@EnableCaching是一个Spring Framework提供的注解,它可以被用于启用缓存支持。当你在Spring Boot应用中使用@EnableCaching注解时,Spring会自动配置并启用缓存功能。通过使用这个注解,你可以在方法上使用缓存注解(比如 @Cacheable, @CachePut, @CacheEvict 等)来控制方法的缓存行为。

3.Spring缓存的使用

@Cacheable(cacheNames = "allusers")
@Override
public List<User> findAllUsers() {
    return userDao.findAll();
}
@CacheEvict(cacheNames = "allusers",allEntries = true)
@Override
public void deleteById(long id) {
    userDao.deleteById(id);
}
@CachePut(cacheNames = "findAll")
@Override
public List<BookType> findAll() {
    List<BookType> bookTypes = bookTypeDao.selectList(null);
    return bookTypes;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值