spring本身的缓存

@Cacheable可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。对于一个支持缓存的方法,Spring会在其被调用后将其返回值缓存起来,以保证下次利用同样的参数来执行该方法时可以直接从缓存中获取结果,而不需要再次执行该方法。Spring在缓存方法的返回值时是以键值对进行缓存的,值就是方法的返回结果,至于键的话,Spring又支持两种策略,默认策略和自定义策略。需要注意的是当一个支持缓存的方法在对象内部被调用时是不会触发缓存功能的。

@CachePut也可以声明一个方法支持缓存功能。与@Cacheable不同的是使用@CachePut标注的方法在执行前不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中。

@CacheEvict是用来标注在需要清除缓存元素的方法或类上的。当标记在一个类上时表示其中所有的方法的执行都会触发缓存的清除操作。用beforeInvocation可以改变触发清除操作的时间,当我们指定该属性值为true时,Spring会在调用该方法之前清除缓存中的指定元素。

spring本身的缓存相关推荐

  1. 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)

    Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...

  2. 基于Spring的Web缓存

    缓存的基本思想其实是以空间换时间.我们知道,IO的读写速度相对内存来说是非常比较慢的,通常一个web应用的瓶颈就出现在磁盘IO的读写上.那么,如果我们在内存中建立一个存储区,将数据缓存起来,当浏览器端 ...

  3. Spring 3.1缓存和@Cacheable

    缓存在软件领域已经存在很长时间了. 它们是那些真正有用的东西之一,一旦您开始使用它们,您会想知道如果没有它们,您是如何相处的,所以似乎让Spring的家伙们只是在版本中向Spring核心添加缓存实现有 ...

  4. Spring Boot————默认缓存应用及原理

    引言 应用程序的数据除了可以放在配置文件中.数据库中以外,还会有相当一部分存储在计算机的内存中,这部分数据访问速度要快于数据库的访问,因此通常在做提升数据访问速度时,会将需要提升访问速度的数据放入到内 ...

  5. Spring Boot Redis缓存

    Spring Boot Redis缓存 目录[ 隐藏 ] 1 Spring Boot Redis缓存 1.1 Spring Boot Redis项目设置 1.2 Spring Boot Redis缓存 ...

  6. Spring Boot基础学习笔记17:Spring Boot默认缓存

    文章目录 零.学习目标 一.缓存概述 (一)引入缓存管理的重要性 (二)Spring Boot的缓存管理 二.Spring Boot默认缓存 (一)数据准备 (二)创建Spring Boot项目 - ...

  7. Spring的三级缓存

    Spring三级缓存 对象创建的过程 spring的三级缓存分别是 // 从上至下 分表代表这"三级缓存"private final Map<String, Object&g ...

  8. 关于Spring的三级缓存

    关于Spring的三级缓存 文章目录 关于Spring的三级缓存 前言 一.循环依赖 1.相互依赖 2.三者间依赖 3.自我依赖 二.缓存 1.一级缓存 2.二级缓存 3.三级缓存 总结 前言 spr ...

  9. Spring Cache抽象-缓存注解

    文章目录 概述 Spring缓存的基本原理 @Cacheable :主要针对方法配置,能够根据方法的请求参数对其结果进行缓存 键生成器 带条件的缓存 @Cacheable 注解参数说明 示例-缓存管理 ...

最新文章

  1. Vijos1683 有根树的同构问题
  2. 【行业趋势】国内这10个AI研究院,你想好去哪个了吗?
  3. html自动执行bat,html文件执行cmd指令
  4. 在VB应用程序中调用Excel2000
  5. fwrite函数Matlab,fread和fwrite函数,C语言fread和fwrite函数详解
  6. Linux 命令(86)—— head 命令
  7. canvas节点无法导出图片_开源小程序,练手必备,仿“美图秀秀”处理图片。
  8. CCF201512-1 数位之和(100分)
  9. 查看kafka的主从状态_Kafka 集群部署
  10. sql注入pythonpoco_骑士CMS后台SQL注入 | CN-SEC 中文网
  11. agd插值算法_插值算法(一):各种插值方法比较
  12. 安装mysql中error nr.1045_windows10安装mysql提示error Nr.1045的解决方法
  13. selenium爬取维基百科信息
  14. Android 10.0 TV板 强制app横屏显示
  15. FFA 2021 专场解读 - 平台建设
  16. java 栈的输出顺序,栈在Java类库中的顺序表示及实现——Stack
  17. 根据设备不同,加载不同尺寸图片
  18. Oracle数据库的数据备份
  19. 五一节假期结束给团队开会,快速进入工作状态
  20. IntelliJ IDEA 创建 Java包

热门文章

  1. XDC约束技巧之CDC篇
  2. 毛星云opencv之计算自然对数函数log,矩阵归一化函数normalize
  3. 第18讲 译码与译码器
  4. 全选主元高斯消去法 matlab程序,[VB]全选主元高斯消去法求解线性方程组
  5. 使用ETH测试网发布NFT流程
  6. 让你少踩坑的fastadmin教程
  7. 大数据时代,你还为数据单位,而困惑么? 计算机存储单位:Byte、KB、MB、GB、TB、PB、EB分别叫什么?他们的进率是多少?
  8. [合辑]最精致的python访客登记系统实例项目,微信机器人不再只当人工智障
  9. python3在线编译器-python3编译器
  10. python运行使用gpu运算【python基础】python开启GPU加速