如何在Ehcache 3.5.2中配置eternal=true及overflowToDisk=false?
Ehcache 3.5.2 配置对应 Ehcache 2.x 的
eternal="true" 和 overflowToDisk="false" 没问题,我来帮你把这两个Ehcache 2.x的属性映射到3.5.2的配置里,结合你提供的基础配置,调整后的完整有效配置如下:
<ehcache:cache alias="basicCache"> <ehcache:key-type>java.lang.Long</ehcache:key-type> <ehcache:value-type>java.lang.String</ehcache:value-type> <!-- 对应 eternal="true":设置无限过期策略 --> <ehcache:expiry infinite="true"/> <ehcache:resources> <!-- 对应 overflowToDisk="false":仅配置堆资源,无磁盘资源则不会溢出 --> <ehcache:heap unit="entries">400</ehcache:heap> </ehcache:resources> </ehcache:cache>
属性对应说明:
eternal="true"的替代方案:
Ehcache 3.x 移除了直接的eternal属性,改用<ehcache:expiry>标签实现相同效果。设置infinite="true"后,缓存条目将永远不会因为空闲时间(timeToIdle)或存活时间(timeToLive)而过期,完全匹配2.x中eternal="true"的行为。overflowToDisk="false"的替代方案:
在Ehcache 3.x中,缓存只会使用你显式配置的资源。只要你的<ehcache:resources>中只包含堆(<ehcache:heap>)资源,没有添加任何磁盘(<ehcache:disk>)相关配置,缓存就不会溢出到磁盘——这和2.x里overflowToDisk="false"的效果完全一致。不需要额外设置其他属性,默认就是如此。
另外注意修正了你之前提供的3.x配置里的小语法错误:unit=entries"应该改为unit="entries",否则配置文件会解析失败。
内容的提问来源于stack exchange,提问作者Madhuri Haritha
相关产品推荐
相关产品推荐

