相关注解介绍

1 @Cacheable

如果缓存中不存在目标值,则将调用目标方法并将返回的值存入缓存;如果存在,则直接返回缓存中的值,不会执行方法体。即使方法体内进行了数据库的更新操作,也不会执行。

该注解常用参数如下:

  1. cacheNames/value :存储方法调用结果的缓存的名称

  2. key :缓存数据使用的key,可以用它来指定,key="#param"可以指定参数值,也可以是其他属性

  3. keyGenerator :key的生成器,用来自定义key的生成,与key为二选一,不能兼存

  4. condition:用于使方法缓存有条件,默认为"" ,表示方法结果始终被缓存。conditon="#id>1000"表示id>1000的数据才进行缓存

  5. unless:用于否决方法缓存,此表达式在方法被调用后计算,因此可以引用方法返回值(result),默认为"" ,这意味着缓存永远不会被否决。unless = "#result==null"表示除非该方法返回值为null,否则将方法返回值进行缓存

  6. sync :是否使用异步模式,默认为false不使用异步

2 @CachePut

如果缓存中先前存在目标值,则更新缓存中的值为该方法的返回值;如果不存在,则将方法的返回值存入缓存。

该注解常用参数同@Cacheable,不过@CachePut没有sync 这个参数

3 @CacheEvict

如果缓存中存在存在目标值,则将其从缓存中删除
该注解常用参数如下:

  1. cacheNames/value、key、keyGenerator、condition同@Cacheable
  2. allEntries:如果指定allEntries为true,Spring Cache将忽略指定的key清除缓存中的所有元素,默认情况下为false。
  3. beforeInvocation:删除缓存操作默认是在对应方法成功执行之后触发的,方法如果因为抛出异常而未能成功返回时也不会触发删除操作。如果指定beforeInvocation为true ,则无论方法结果如何,无论方法是否抛出异常都会导致删除缓存。

redis缓存相关注解相关推荐

  1. Spring : 缓存相关注解@EnableCaching、@CacheConfig、@Cacheable、@Caching

    1.美图 2.概述 缓存相关注解 解释 @EnableCaching 开启缓存注解的支持 @CacheConfig 用于统一制定一些配置参数,这样在其他缓存注解里面就不用重复指定 @Cacheable ...

  2. Spring Boot集成Redis缓存之注解方式

    首先还是加入依赖Jar pom.xml中加入依赖 <!-- 加载spring boot redis 包 --><dependency><groupId>org.sp ...

  3. 将对象序列化存到redis缓存中

    当前spring框架提供了完整的redis缓存的注解支持,只要在方法前面加上注解@Cacheable 直接去访问这个方法就会自动获取缓存.但是 会存在一种这样的需求就是你不想去访问这方法 就可以当前缓 ...

  4. java清空redis缓存数据库_java相关:Spring Cache手动清理Redis缓存

    java相关:Spring Cache手动清理Redis缓存 发布于 2020-4-24| 复制链接 摘记: 这篇文章主要介绍了Spring Cache手动清理Redis缓存,文中通过示例代码介绍的非 ...

  5. java中注解操作redis_spring boot —— redis 缓存注解使用教程

    spring boot -- redis 缓存注解使用教程 依赖 在pom文件添加如下依赖 org.springframework.boot spring-boot-starter-data-redi ...

  6. ssm+redis 如何更简洁的利用自定义注解+AOP实现redis缓存

    基于 ssm + maven + redis 使用自定义注解 利用aop基于AspectJ方式 实现redis缓存 如何能更简洁的利用aop实现redis缓存,话不多说,上demo 需求: 数据查询时 ...

  7. 微服务架构-5-Redis实战-5-SpringBoot整合Redis缓存注解开发

    文章目录 redis缓存注解 一.概念 二.缓存编程 三 设置缓存有效期 1 配置文件 2 Controller redis缓存注解 Spring Boot缓存注解@Cacheable.@CacheE ...

  8. 注解方式使用 Redis 缓存

    使用缓存有两个前置步骤 在 pom.xml 引入依赖 <dependency><groupId>org.springframework.boot</groupId> ...

  9. redis返回的结果是null_Spring AOP 用注解封装 redis 缓存

    前言 面试时问到用没用过 AOP,很多回答都是用 AOP 做过日志统一处理. 给人感觉就是没做过啊 今天介绍一个用注解封装 redis 缓存的 AOP 实战 redis 缓存加速的基本逻辑 用 red ...

最新文章

  1. java jar log4j_java项目打包成可执行jar用log4j将日志写在jar所在目录操作
  2. 看样子还是:JSP和JAVA
  3. VS 2005/2008 开发工具中 使用正则表达式查找替换的使用说明
  4. 【Beta阶段】M2事后分析
  5. AG9 Service order创建好之后,要自动通过middleware传其他系统去 disable
  6. 使用函数指针实现父类函数调用子类函数的两种方式
  7. wpf 点击按钮弹出选择框_WPF-PopupWindow wpf右下角弹出框,通过按钮调用,类似QQ CSharp C#编程 238万源代码下载- www.pudn.com...
  8. 五子棋 AI(AIpha-beta算法)
  9. 横向比较图像标注中的两种基于近邻思想的方法 TagProp和SGSSL
  10. python有道-Python爬去有道翻译
  11. 瑞虎7linux车机,颜值更高/车机系统运行快 实拍奇瑞瑞虎7神行版
  12. 【车牌识别】基于matlab GUI BP神经网络车牌识别(带语音播报)【含Matlab源码 668期】
  13. 【在线分享】考研数学思维导图+高数思维导图+汤家凤重点笔记+武忠祥重点笔记以及高数Xmind思维导图
  14. VirtualBox安装Windows和CentOS虚拟机
  15. Android动态生成答题卡,〔两行哥〕OpenCV4Android教程之安卓答题卡识别
  16. cmd命令行激活win7
  17. 人一生要做的一百件事
  18. 如何设置电子签名,pdf如何设置电子签名
  19. SAP中销售订单中的条件类型修改控制问题配置分析
  20. 微信开发 · 缓存问题

热门文章

  1. 养肝护肝这些好习惯很重要
  2. Java 快速排序法
  3. php从入门到放弃,学习总结
  4. 给大伙儿介绍一个好用的数据库软件软件
  5. 超易懂,原来SOLID原则要这么理解
  6. Xamarin 手动安装
  7. Iterator用法
  8. xml基础知识(一)
  9. python --压缩图片不改变图片尺寸
  10. Windows环境查看环境变量