您好我在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 回答
阅读官方手册后,我找到了解决方案 .
可以仅使用Ehcache持久性策略持久化,但是在企业版中 .
在普通版本中,只能调用
flush()
或shutdown()
.