当前位置:   article > 正文

SpringBoot的缓存管理_springboot 缓存

springboot 缓存

缓存是分布式系统中的重要组件,主要解决数据库数据的高并发访问问题。在实际开发中,尤其是用户 访问量较大的网站,为了提高服务器访问性能、减少数据库的访问压力、提高用户体验,使用缓存显得 尤为重要。Spring Boot对缓存提供了良好的支持

默认缓存管理

        Spring框架支持透明地向应用程序添加缓存并对缓存进行管理,其管理缓存的核心是将缓存应用于操作 数据的方法中,从而减少操作数据的次数,同时不会对程序本身造成任何干扰。Spring Boot继承了Spring框架的缓存管理功能,通过使用@EnableCaching注解开启基于注解的缓存支持,Spring Boot可以启动缓存管理的自动化配置

Spring Boot默认缓存体验

1.使用@EnableCaching注解开启基于注解的缓存支持,该注解通常会添加在项目启动类上

 2.使用@Cacheable注解对数据操作方法进行缓存管理。将@Cacheable注解标注在CommentService类 的查询方法上,对查询结果进行缓存

 这样我们就不会每次访问的时候都去数据库进行查询,大大节省了效率,只要查的数据一致,无论查多少次都只会进行一次查询,然后保存到缓存区,之后每次查询的数据都是从缓存中获取的

Spring Boot缓存注解介绍

        1.@EnableCaching注解:@EnableCaching是由Spring框架提供的,Spring Boot框架对该注解进行了继承,该注解需要配置在类上(在Spring Boot中,通常配置在项目启动类上),用于开启基于注解的缓存支持。

        2.@Cacheable注解:@Cacheable注解也是由Spring框架提供的,可以作用于类或方法(通常用在数据查询方法上),用于 对方法的查询结果进行缓存存储。@Cacheable注解的执行顺序是,先进行缓存查询,如果为空则进行 方法查询,并将结果进行缓存;如果缓存中有数据,不进行方法查询,而是直接使用缓存数据

          cacheNames  缓存空间名                unless     条件成立则不缓存          key    指定id,默认为形参的具体指   

          #result    获取结果

        3.@CachePut注解:@CachePut注解是由Spring框架提供的,可以作用于类或方法(通常用在数据更新方法上),该注解的 作用是更新缓存数据。@CachePut注解的执行顺序是,先进行方法调用,然后将方法结果更新到缓存 中

        4.@CacheEvict注解;

@CacheEvict注解是由Spring框架提供的,可以作用于类或方法(通常用在数据删除方法上),该注解 的作用是删除缓存数据。@CacheEvict注解的默认执行顺序是,先进行方法调用,然后清除缓存。 @CacheEvict注解提供了多个属性,这些属性与@Cacheable注解的属性基本相同。 除此之外,@CacheEvict注解额外提供了两个特殊属性allEntries和beforeInvocation,其说明如下

                 1)allEntries属性:allEntries属性表示是否清除指定缓存空间中的所有缓存数据,默认值为false(即默认只删除指定key对应的缓存数据)。例如@CacheEvict(cacheNames="comment",allEntries= true)表示方法执行后会删除 缓存空间comment中所有的数据

                  2)beforeInvocation属性:beforeInvocation属性表示是否在方法执行之前进行缓存清除,默认值为false(即默认在执行方法后再 进行领存清除)例如@CacheEvict(cacheNames="comment",beforeInvocation=true)表示会在方法执 行之前进行缓存清除。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/164598
推荐阅读
相关标签
  

闽ICP备14008679号