You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:07:27