你好我在EhCache中有一个特定的任务要解决,但是我无法实现它。
我想构建一个“永久缓存”,它将在内存中有少量项目供即将使用,其余的将保留在磁盘上。我经常将数据写入多个线程的缓存中,并且希望在磁盘上一直使用这些项目,这样我甚至可以在重启后使用它们。
<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()的内容,但是它会在磁盘上保留项目,但我想在内存中至少有一些数据。
请问有人建议我如何根据我的需要配置缓存?
答案 0 :(得分:2)
阅读官方手册后,我找到了决议。
可以仅使用Ehcache持久性策略来保留,但是在企业版中。
在普通版本中,只能调用flush()
或shutdown()
。