EhCache-配置和SpringBoot整合

本文介绍了EhCache的配置,包括数据存储位置(heap, off-heap, disk)及组合存储方式,以及数据生存时间的设置。接着详细讲解了如何在SpringBoot项目中整合EhCache 3.x,包括构建工程、导入依赖、配置项准备和CacheManager的配置。" 122922317,5279151,建造者模式详解与Python实现,"['设计模式', 'Python编程', '软件设计', '创建型模式']
摘要由CSDN通过智能技术生成

一、EhCache配置

EhCache提供很多丰富的配置,其中有两个是很重要的。

1.1 数据存储位置

EhCache3.x版本中不但提供了堆内缓存heap,还提供了堆外缓存off-heap,并且还提供了数据的持久化操作,可以将数据落到磁盘中disk。

heap堆内内存存储

heap表示使用堆内内存:

  • heap(10)代表当前Cache最多只能存储10个数据,当你put第11个数据时,第一个数据就会被移除。
  • heap(10,大小单位MB)代表当前Cache最多只能存储10MB数据。

off-heap堆外内存

off-heap是将存储的数据放到操作系统的一块内存区域存储,不是JVM内部,这块空间属于RAM。这种对象是不能直接拿到JVM中使用的,在存储时,需要对数据进行序列化操作,同时获取出来的时候也要做反序列化操作。

disk落到磁盘

disk表将数据落到本地磁盘,这样的话,当服务重启后,依然会从磁盘反序列化数据到内存中。

EhCache提供了三种组合方式:

  • heap + off-heap
  • heap + disk
  • heap + off-heap + disk

在组合情况下存储,存储数据时,数据先落到堆内内存,同时同步到对外内存以及本地磁盘。本地底盘因为空间充裕,所以本地磁盘数据是最全的。而且EhCache要求空间大小必须disk > off-heap > heap。

在组合情况下读取,因为性能原型,肯定是先找heap查询数据,没有数据去off-heap查询数据,off-heap没有数据再去disk中读取数据,同时读取数据之后,可以将数据一次同步到off-heap、heap

通过API实现组合存储方式:

@Test
public void test(){
    //0\. 声明存储位置
    String path = "D:\\ehcache";
    //1\. 初始化好CacheManager
    CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
            // 设置disk存储的位置
         
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值