首页 文章

EhCache数据到磁盘没有刷新

提问于
浏览
2

您好我在EhCache中有一个特定的任务要解决,但我无法实现它 .

我想 Build 一个“永久缓存”,它将在内存中有少量项目供即将使用,其余的将保留在磁盘上 . 我经常将数据写入多个线程中的缓存,并希望在磁盘上一直有这些项目,所以我甚至可以在重启后使用它们 .

<cache name="eternal_cache" maxBytesLocalHeap="1%" maxBytesLocalDisk="2G"
       eternal="false" timeToLiveSeconds="0"
       timeToIdleSeconds="120" overflowToDisk="true"
       diskPersistent="true" memoryStoreEvictionPolicy="LFU"
       transactionalMode="off"/>

基本上我想要EhCache中的持久性功能,它通过定义,但是有大小限制,持久性不允许 .

我遇到的问题是,我的配置中我有内存中的项目,但没有正确关闭ehcache管理器松散我的数据 . 我读了关于flush()但是它在磁盘上保留了项目,但我想在内存中至少有一些数据 .

请问有人建议我如何配置缓存以满足我的需求?

1 回答

  • 2

    阅读官方手册后,我找到了解决方案 .

    可以仅使用Ehcache持久性策略持久化,但是在企业版中 .

    在普通版本中,只能调用 flush()shutdown() .

相关问题