2013-03-15 101 views
2

你好我有一個特定的任務來解決在EhCache,但我無法實現它。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(),但是它將內容保留在磁盤上,但我至少需要一些內存中的數據。

你能請別人告訴我如何配置緩存以滿足我的需求嗎?

回答

2

閱讀官方手冊後,我發現解決方案。

只有使用Ehcache持久性策略纔是可能的,但Ehcache持久性策略在Enterprise版本中是存在的。

在正常版本中,只能撥打flush()shutdown()