ehcache.xml解析

本文详细解析了Ehcache的配置,包括diskStore的磁盘存储路径,defaultCache的默认缓存设置,以及cache的自定义配置。重点关注maxEntriesLocalHeap、eternal、timeToIdleSeconds、timeToLiveSeconds等关键参数,讨论了内存和磁盘的缓存策略以及持久化选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在spring中集成ehcache时,需要添加ehcache.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false"
	monitoring="autodetect" dynamicConfig="true">
	<diskStore path="java.io.tmpdir" />

	<defaultCache maxEntriesLocalHeap="10000" eternal="false"
		overflowToDisk="true" timeToIdleSeconds="0" timeToLiveSeconds="0">
	</defaultCache>

	<cache name="defaultCache" maxEntriesLocalHeap="10000"
		maxEntriesLocalDisk="1000" eternal="false" overflowToDisk="true"
		diskSpoolBufferSizeMB="20" timeToIdleSeconds="0" timeToLiveSeconds="0"
		memoryStoreEvictionPolicy="LFU" transactionalMode="off" />
</ehcache>
  • diskStore : ehcache支持内存和磁盘两种存储

    • path :指定磁盘存储的位置
    • java.io.tmpdir:是获取操作系统缓存的临时目录,不同操作系统的缓存临时目录不一样。
         在Windows的缓存目录为:C:\Users\登录用户~1\AppData\Local\Temp\
         Linux:/tmp

  • defaultCache : 默认的缓存

    • maxEntriesLocalHeap=”10000”
    • eternal=”false”
    • timeToIdleSeconds=”120”
    • timeToLiveSeconds=”120”
    • maxEntriesLocalDisk=”10000000”
    • diskExpiryThreadIntervalSeconds=”120”
    • memoryStoreEvictionPolicy=”LRU”
  • cache :自定的缓存,当自定的配置不满足实际情况时可以通过自定义(可以包含多个cache节点)

    • name : 缓存的名称,可以通过指定名称获取指定的某个Cache对象

    • maxElementsInMemory :内存中允许存储的最大的元素个数,0代表无限个

    • clearOnFlush:内存数量最大时是否清除。

    • eternal :设置缓存中对象是否为永久的,如果是,超时设置将被忽略,对象从不过期。根据存储数据的不同,例如一些静态不变的数据如省市区等可以设置为永不过时

    • timeToIdleSeconds : 设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。

    • timeToLiveSeconds :缓存数据的生存时间(TTL),也就是一个元素从构建到消亡的最大时间间隔值,这只能在元素不是永久驻留时有效,如果该值是0就意味着元素可以停顿无穷长的时间。

    • overflowToDisk :内存不足时,是否启用磁盘缓存。

    • maxEntriesLocalDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。

    • maxElementsOnDisk:硬盘最大缓存个数。

    • diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。

    • diskPersistent:是否在VM重启时存储硬盘的缓存数据。默认值是false。

    • diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值