Caheput,Cacheable,CacheEvict

        本文只介绍理论

        理论参考 SpringBoot的缓存实现Cache和自定义缓存管理器

        详细使用方法参考

        spring cache 学习 —— @Cacheable 使用详解

        SpringCache之@CacheEvict注解的使用说明

        spring cache 学习——@CachePut 使用详解

Cacheable

        运行流程:

        1、方法运行之前,先去查询Cache(缓存组件),按照cacheNames指定的名字获取;(CacheManager先获取相应的缓存),第一次获取缓存如果没有Cache组件会自动创建。

        2、去Cache中查找缓存的内容,使用一个key,默认就是方法的参数;key是按照某种策略生成的;默认是使用keyGenerator生成的,默认使用SimpleKeyGenerator生成key;SimpleKeyGenerator生成key的默认策略;如果没有参数;key=new SimpleKey();如果有一个参数:key=参数的值如果有多个参数:key=new SimpleKey(params);

        3、没有查到缓存就调用目标方法;

        4、将目标方法返回的结果,放进缓存中@Cacheable标注的方法执行之前先来检查缓存中有没有这个数据,默认按照参数的值作为key去查询缓存,如果没有就运行方法并将结果放入缓存;以后再来调用就可以直接使用缓存中的数据;

Cacheput

        更新缓存,就是相当于再去查询数据库然后将结果放入缓存,从而将缓存中的数据进行更新的操作。

CacheEvict

        CacheEvict是Spring框架中的一个注解,它可以用来清除缓存。当我们使用CacheEvict注解时,它会在方法执行之前或之后清除缓存。CacheEvict注解有一些属性,可以用来指定要清除的缓存名称、缓存键等。

        CacheEvict的原理非常简单。当我们使用CacheEvict 注解时,它会在方法执行之前或之后清除缓存。具体来说,它会在方法执行之前或之后调用缓存管理器的evict方法,将指定的缓存清除掉。缓存管理器会根据缓存名称和缓存键来查找要清除的缓存,然后将其清除。
        使用CacheEvict注解可以带来很多好处。首先,它可以帮助我们解决缓存数据的过期问题。当缓存数据过期时,我们可以使用CacheEvict注解来清除缓存,从而保证缓存数据的及时更新。其次,它可以帮助我们解决缓存数据的不一致问题。当我们修改了数据库中的数据时,我们可以使用CacheEvict 注解来清除缓存,从而保证缓存数据的一致性。
        CacheEvict是一种非常有效的清除缓存的方法。它可以帮助我们解决缓存数据的过期、不一致等问题,从而提高应用程序的性能和可靠性。如果你正在开发一个需要使用缓存的应用程序,那么我建议你使用CacheEvict 注解来清除缓存。它会让你的应用程序更加稳定、可靠。

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值