当前位置:   article > 正文

SpringBoot项目中缓存Cache的使用_springboot缓存

springboot缓存

SpringBoot项目中缓存Cache的使用

一、缓存是什么

缓存是一种将经常使用的数据存储在高速存储介质中的技术。

二、为什么要使用缓存

  1. 通常情况下,我们每发一次请求,做一次查询,都会从数据库中取出数据,返回结果。
  2. 但使用缓存之后,我们发送相同的请求,只有第一次会从数据库中取出数据,同时将取出的数据放入缓存中,在之后的请求中,如果缓存中有数据,将会直接从缓存中读取数据,返回结果。
  3. 因此缓存可以提高数据的访问速度,减少对数据库的访问次数,从而提升系统的性能和响应速度。

image-20231018164134576

三、缓存注解

  1. @EnableCaching

    用于启用缓存功能。通过在Spring Boot项目的启动类上添加@EnableCaching注解,可以启用Spring Boot的缓存管理功能。

    序列参数解释
    1cacheNames指定缓存组件的名字
    2key缓存数据时使用的key,默认使用方法参数
    3keyGeneratorkey 的生成器。 key 和 keyGenerator 二选一使用
    4cacheManager可以用来指定缓存管理器。从哪个缓存管理器里面获取缓存。
    5condition可以用来指定符合条件的情况下才缓存
    6unless否定缓存。当 unless 指定的条件为 true ,方法的返回值就不会被缓存。当然你也可以获取到结果进行判断
    7sync是否使用异步模式。
  2. @Cacheable

    用于标记方法的返回值应该被缓存。当调用被@Cacheable注解标记的方法时,Spring Boot会首先在缓存中查找对应的结果,如果找到则直接返回缓存中的结果,否则执行方法的逻辑,并将方法的返回值存储到缓存中。@Cacheable注解可以指定缓存的名称和缓存的key,以及其他的一些属性。

  3. @CachePut

    用于标记方法的返回值应该被缓存或更新缓存。与@Cacheable不同的是,@CachePut注解会执行方法的逻辑,并将方法的返回值存储到缓存中,而不会先在缓存中查找结果。如果缓存中已经存在对应的key,则会更新缓存中的值。

  4. @CacheEvict

    用于标记方法执行后应该从缓存中删除对应的数据。当调用被@CacheEvict注解标记的方法时,Spring Boot会先执行方法的逻辑,然后从缓存中删除对应的数据。@CacheEvict注解可以指定缓存的名称和要删除的缓存key,以及其他的一些属性。

四、缓存注解的简单使用

  1. 在SpringBoot项目的启动类上添加注解@EnableCaching

    image-20231018192809663

  2. 在service查询方法上添加注解@Cacheable

    image-20231018200906916

  3. 在service添加方法上添加注解@CachePut

    image-20231018200936938

  4. 在service删除方法上添加注解@CacheEvice

    image-20231018201008945

  5. controller方法

    image-20231018201135240

  6. 运行启动类的main方法,并进行测试,发现缓存能正常读取和更新,测试成功

    image-20231018201545053

    image-20231018201423893

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

闽ICP备14008679号