12

要素の「overflowToDisk」属性について質問がありますか?

1)私はこのURLで次のことを読みました:

overlayToDiskは、メモリストアが最大制限に達したときに要素がディスクにオーバーフローできるかどうかを設定します。

上記の「メモリ」は、EHCACHEを実行しているJavaプロセスに割り当てられたJVMメモリを指しますか、またはキャッシュメモリサイズを指定するためのパラメータはありますか?

2)EHCACHEを実行しているpocesが何らかの理由で終了した場合、このディスクがクリアされ、キャッシュ内のすべてが消えるかどうか。

4

2 に答える 2

12

メモリストアにmaxElementsInMemoryを超える要素があると、要素がディスクにオーバーフローし始めます。次の例では、1000個の要素をメモリに保存するキャッシュを作成し、さらに保存する必要がある場合は、最大10000個の要素をディスクに保存します。

<cache name="cacheName"
       maxElementsInMemory="1000"
       maxElementsOnDisk="10000"
       overflowToDisk="true"
       timeToIdleSeconds="..."
       timeToLiveSeconds="...">
</cache>

2番目の質問については、diskPersistentパラメーターを確認してください。trueに設定されている場合、JVMを停止すると、Ehcacheはデータをディスクに保存したままにします。次の例はこれを示しています。

<cache name="cacheName"
       maxElementsInMemory="1000"
       maxElementsOnDisk="10000"
       overflowToDisk="true"
       diskPersistent="true"
       timeToIdleSeconds="..."
       timeToLiveSeconds="...">
</cache>
于 2010-10-15T11:43:51.333 に答える
5

Ehcache 2.6以降、ストレージモデルはオーバーフローモデルではなく、階層型モデルになりました。階層型ストレージモデルでは、すべてのデータは常に最下位層に存在します。アイテムは、その辛さに基づいて上位Tierに表示されます。

オープンソースEhcacheの可能な層は次のとおりです。

  • JVMヒープ上にあるオンヒープ
  • 最も低いディスク上

定義上、上位層のレイテンシは低くなりますが、下位層よりも容量は少なくなります。

したがって、で構成されたオープンソースキャッシュの場合overflowToDisk、すべてのデータは常にディスク層内にあります。キーをメモリに保存し、データをディスクに保存します。

この他の質問からコピーされた回答。

于 2014-04-29T08:09:26.337 に答える