博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring框架中的Cache抽象层
阅读量:4178 次
发布时间:2019-05-26

本文共 934 字,大约阅读时间需要 3 分钟。

为了统一支持各种各样的Cache,Spring框架从3.1开始,为应用提供了对各种Cache的一致抽象层。

说到Cache,这里首先需要指出的是,什么样的数据需要放入Cache呢?那就是应用中通过执行Java方法而得到的结果。

Spring框架的Cache抽象层围绕如下两个接口,封装了不同Cache的实现,为应用提供统一的调用接口:

  • org.springframework.cache.Cache接口
  • org.springframework.cache.CacheManager接口
Spring框架的Cache抽象层兼容如下第三方缓存实现:
  • 基于JDK的java.util.concurrent.ConcurrentMap的缓存
  • EhCache缓存
  • Guava缓存
  • Gemfire缓存
  • 兼容JSR-107的任何缓存
Spring框架提供了大量的缓存相关的标注,在应用中通过使用这些缓存标注就可以实现数据的缓存。要使用缓存标注,首先需要在Spring框架的XML配置文件中设置如下:
然后,就可以在应用中引用如下Spring框架的缓存标注:
  • @Cacheable("a_cache_name"),作用于被缓冲的方法,对方法执行结果的缓存
  • @CacheEvict,作用于被缓冲的方法,将方法执行的结果从缓存中移除
  • @CachePut,更新缓存
  • @Caching,将作用于一个方法的多个缓存操作打包为一个整体
  • @CacheConfig,作用于Java类,设置通用的缓存相关参数
事实上,JSR-107 (JCache)标准已经定义了缓存的标准标注,标准标注与Spring框架的缓存标注的对应关系如下:
  • @CacheResult,类似于Spring的@Cacheable
  • @CachePut,类似于Spring的@CachePut
  • @CacheRemove,类似于Spring的@CacheEvict
  • @CacheRemoveAll,类似于Spring的@CacheEvict(allEntries=true)
  • @CacheDefaults,类似于Spring的@CacheConfig
  • @CacheKey
  • @CacheValue

转载地址:http://hclai.baihongyu.com/

你可能感兴趣的文章
常用js收集
查看>>
如何防止sql注入
查看>>
springmvc传值
查看>>
在Eclipse中查看Android源码
查看>>
[转]C语言printf
查看>>
对话周鸿袆:从程序员创业谈起
查看>>
Mysql中下划线问题
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
vue项目打包后无法运行报错空白页面
查看>>
1136 . 欧拉函数
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>