3

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

メモリサイズもディスクサイズよりも小さいです。これはどのように起こりますか?または、期待どおりに動作するように構成するにはどうすればよいですか?

ありがとう。

4

1 に答える 1