@CachePut:既调用方法,又更新缓存数据;
修改了数据库的某个数据,同时又更新缓存

运行时机:

  1. 先调用目标方法
  2. 将目标方法的结果缓存起来

注意:

  • @Cacheable的key不能用#result来指定key,因为在方法开始之前就需要key

  • CachePut在更新的时候也添加了缓存,但是如果查询方法也有缓存,则更新数据时每条的缓存key需和查询时一致,
    否则会出现key不同,导致更新完数据库没有更新查询缓存

springboot缓存注解——@CachePut的更多相关文章

  1. Spring缓存注解@CachePut , @CacheEvict,@CacheConfig使用

    Cacheable CachePut CacheEvict CacheConfig 开启缓存注解 @Cacheable @Cacheable是用来声明方法是可缓存的.将结果存储到缓存中以便后续使用相同 ...

  2. spring-boot -缓存注解

    缓存:商品信息放到缓存中间件中, 验证码几秒钟有效也是放在缓存中间件. 缓存规范 交互流程: 如果需要使用jRS107需要导入包: java.cache.cache-api JSR107提供的是接口, ...

  3. springboot缓存注解——@Cacheable和@CacheConfig

    @Caching :制定多个缓存规则 @Cacheable 和 @CachePut 同时标注时 ,@CachePut导致还是会走方法跟数据库交互 //根据lastName查,并将结果缓存,并且可以用于 ...

  4. SpringBoot 缓存注解 与EhCache的使用

    在SpringBoot工程中配置EhCache缓存 1.在src/main/resources下新建ehcache.xml文件 eternal=true //缓存永久有效,false相反 maxEle ...

  5. springboot缓存注解——@Cacheable

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

  6. springboot缓存注解——@CacheEvict

    @CacheEvict:缓存清除 可以通过key指定清除的数据 如果不写默认参数的值 allEntries = true (是否删除该缓存名中所有数据,默认为false) beforeInvocati ...

  7. SpringBoot:缓存注解@Cacheable详解

    1.查看@Cacheable @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @ ...

  8. Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用

    从3.1开始,Spring引入了对Cache的支持.其使用方法和原理都类似于Spring对事务管理的支持.Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该 ...

  9. 27. Spring Boot 缓存注解详解: @Cacheable、@CachePut、 @CacheEvict、@Caching、@CacheConfig

     1.使用OGNL的命名规则来定义Key的值 @Cacheable(cacheNames = {"user"},key = "#root.methodName + '[' ...

随机推荐

  1. 关于12c安装后打补丁

    根据ID:1454618.1,可在MOS上查到相关版本详细的补丁版本号. 补丁安装过程参考补丁文档,以下是大致过程. 1. 更新OPatch2. 创建OCM应答文件(每个节点)$ORACLE_HOME ...

  2. java消息队列--ActiveMQ

    1.下载安装ActiveMQ ActiveMQ官网下载地址:http://activemq.apache.org/download.html ActiveMQ 提供了Windows 和Linux.Un ...

  3. 接口自动化测试持续集成--Soapui接口功能测试数据传递

    做接口测试经常会遇到如下两种情况需要处理数据传递 接口间的数据依赖,A接口请求的参数需要用到B接口的返回值 接口请求通常要用到鉴权的接口获取Token,Token通常会跟其他接口构成一对多的关系,这种 ...

  4. hibernate 集合查询

    hibernate 集合查询: public Long getPurchaseRecordByBlueIdCount(List<Long> blueIdList) { StringBuil ...

  5. JAVA函数的重载和重写

    一.什么是重载(overlording) 在JAVA中,可以在同一个类中存在多个函数,函数名称相同但参数列表不同.这就是函数的重载(overlording).这是类的多太性表现之一. 二.重载的作用: ...

  6. react中对于context的理解

    一.context旧版的基本使用 1.context的理解 当不想在组件树中通过逐层传递props或state的方式来传递数据时,可使用context来实现跨层级的组件数据传递. 2.context的 ...

  7. SSRS分页

    1:首先进行分组,分组表达式为CEILING(RowNumber(Nothing)/50)       注:50是一页放50条数据,一页想放多少条,就改成多少       2:在Group Prope ...

  8. 【记录】Linux安装jave-web环境

    依照教程记录 -java https://blog.csdn.net/a360616218/article/details/76736988 -tomcat https://www.cnblogs.c ...

  9. vue 父组件调用子组件内置方法

    背景介绍:外派到泰康做项目.这个项目中有个选择组织的功能,是一个树桩结构的懒加载,于是我就element-ui的tree组件封装了一个公共的组件. 但是后来发现他们的公司组织结构不是都请求的同一个接口 ...

  10. HTML与CSS的一些知识(二)

    续: 5.表单标签<form></form> 用于收集用户信息,统一提交到服务器 一般用input标签收集,再用提交按钮提交:input标签根据type属性值不同有不同的类型: ...