overflowToDisk: メモリ ストアが maxInMemory 制限に達したときに要素がディスクにオーバーフローできるかどうかを設定します。
私の理解では、memoryStoresSize が maxElementsInMemory に達しない場合、ディスクに書き込みません。しかし、そうではないようです。
次のような単純なキャッシュがあります。
<cache name="cache" maxEntriesLocalHeap="100000" eternal="true"
overflowToDisk="true" statistics = "true">
<terracotta clustered="false"/>
</cache>
そして、キャッシュから値を取得するときに統計を出力しました。
System.out.println("memory size:" + cache.getMemoryStoreSize());
System.out.println("disk size:" + cache.getDiskStoreSize());
ただし、出力は、メモリ サイズが maxElementsInMemory よりも非常に小さい場合でも、ディスク サイズが 0 ではないことを示しています。
memory size:2
disk size:186
memory size:2
disk size:186
memory size:3
disk size:186
memory size:3
disk size:186
メモリサイズもディスクサイズよりも小さいです。これはどのように起こりますか?または、期待どおりに動作するように構成するにはどうすればよいですか?
ありがとう。