Springboot与分布式缓存Ehcache整合

本文介绍了如何在SpringBoot中使用Ehcache进行数据缓存。通过引入相关依赖,配置ehcache.xml文件,启用缓存注解,并设置缓存配置,可以轻松实现内存和磁盘的缓存管理。Ehcache提供了多种缓存策略,如最大内存元素、存活时间等,以适应不同的应用场景。
摘要由CSDN通过智能技术生成

EhCache 是⼀个⽐较成熟的 Java 缓存框架,最早从 hibernate 发展⽽来, 是进程中的缓存系统,它提 供了⽤内存,磁盘⽂件存储,以及分布式存储⽅式等多种灵活的 cache 管理⽅案,快速简单。 Spring Boot 对 Ehcache 的使⽤提供⽀持,所以在 Spring Boot 中只需简单配置即可使⽤ Ehcache 实现 数据缓存处理。 Spring Cache 相关注解说明 SpringBoot 缓存实现内部使⽤ SpringCache 实现缓存控制,这⾥集成 Ehcache 实际上是对 SpringCache 抽象的其中⼀种实现,这⾥在使⽤ Ehcache 实现缓存控制时相关注解说明如下:

1.在pomxml中引入依赖包

<!-- 引入缓存Ehcache依赖 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
  <groupId>net.sf.ehcache</groupId>
  <artifactId>ehcache</artifactId>
</dependency>

2.src/main/resources ⽬录下添加 ehcache.xml ⽂件

3.在启动⼊⼝类中,添加 @EnableCaching 注解,启动缓存

4.. JavaBean 对象实现序列化

5.在.yml添加缓存配置

## Ehcache缓存配置
  cache:
  ehcache:
  config: classpath:ehcache.xml

6.缓存配置解释

<!--    是否保存到磁盘,当系统宕机时
    <diskStore path="D:\cache"/>-->
    <!--
    name:缓存名称。
    maxElementsInMemory:缓存最⼤数⽬
    maxElementsOnDisk:硬盘最⼤缓存个数。
    eternal:对象是否永久有效,⼀但设置了,timeout将不起作⽤。
    overflowToDisk:是否保存到磁盘,当系统宕机时
    timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。
    仅当eternal=false对象不是永久有效时使⽤,可选属性,默认值是0,表示可闲置时间⽆穷⼤。
    timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。
    最⼤时间介于创建时间和失效时间之间。
    仅当eternal=false对象不是永久有效时使⽤,默认是0,也就是对象存活时间⽆穷⼤。
    diskPersistent:是否缓存虚拟机重启期数据
    diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区⼤⼩。
 默认是30MB。每个Cache都应该有⾃⼰的⼀个缓冲区。
 diskExpiryThreadIntervalSeconds:磁盘失效线程运⾏时间间隔,默认是120秒。
 memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,会根据指定的策略去清理内
存
 默认策略是LRU(最近最少使⽤)。你可以设置为FIFO(先进先出)或是LFU(较少使⽤)。
 clearOnFlush:内存数量最⼤时是否清除。
 memoryStoreEvictionPolicy:
 可选策略有:
 LRU(最近最少使⽤,默认策略)
 Less Frequently Used,就是例⼦中使⽤的策略,就是⼀直以来最少被使⽤的。
 FIFO(先进先出)
 first in first out,这个是⼤家最熟的,先进先出。
 LFU(最少访问次数)
 Least Recently Used,最近最少使⽤的。
 缓存的元素有⼀个时间戳,当缓存容量满了,⽽⼜需要腾出地⽅来缓存新的元素的时候,
 那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。
 -->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值