2013-04-24 11 views
6

私は大きなメモリを持つehcache entreprise 2.7を使用しています。私は完全にキャッシュされているディスクにオーバーフローし、このキャッシュを再起動によって永続化したいと思っています。この構成では、再起動してキャッシュが永続的になり(と、それは非常によく動作します)が、ディスクにオーバーフローしていないようEhcache、高速再起動とディスクへのオーバーフロー

<cache name="dataservice" 
      eternal="true" 
      maxEntriesLocalHeap="1" 
      overflowToOffHeap="true" 
      maxBytesLocalOffHeap="60M"> 
    <persistence strategy="localRestartable"/> 
</cache> 

私の現在の構成があることです。私は本当に古い属性diskPersistent = "true"よりもうまく動作するので、 "localRestartable"を使いたいと思っています。 "localRestartable"は属性overflowToDisk = "true" ...と互換性がありません...

ディスクにオーバーフローするキャッシュをどのようにすることができますか?

答えて

0

私はこのようなものを使用していますが、再起動では機能しません(エンタープライズ版でもありません)。しかし、私はすべてのキャッシュのバックアップをしている "キャッシュマネージャ" 20秒ごとにXMLファイルに変換します。もしもっと良い解決策があれば、私はあまりにもアドバイスをいただければ幸いです。

<cache name="dataservice" 
    maxElementsInMemory="1000" 
    maxElementsOnDisk="10000" 
    overflowToDisk="true" 
    eternal="true" 
    > 
</cache> 
0

少なくとも、BigMemory Go + Ehcache Enterpriseは、あなたが探しているものをサポートしていません。 localRestartableオプションを有効にすると、Ehcacheはメモリキャッシュを(同期または非同期で)ディスクにミラーリングします。これはディスクへの「オーバーフロー」や「スピルオーバー」ではないことに注意してください。

"localRestartable" - すべてのBigMemoryデータを自動的に記録するファストリスタート機能を有効にします。このオプションを使用すると、フォールトトレラントデータの永続性を備えた高速再起動が可能になります。 (http://www.terracotta.org/documentation/4.1/bigmemorygo/configuration/fast-restartから)

関連する問題