7

実際に使用されている値よりもはるかに高い maxElementsInMemory を設定すると、パフォーマンスに影響があるかどうか知りたいですか? たとえば、最大 10,000 で 100 のみを使用します。

ehcache.xml

<defaultCache
    eternal="false"
    overflowToDisk="false"
    maxElementsInMemory="10000"
    timeToIdleSeconds="7200"
    timeToLiveSeconds="0"/>

コンテキスト: hibernate で ehcache を使用しており、テーブルのすべてのレコード (すべてのエンティティ) をキャッシュしたいと考えています。顧客ごとにテーブル内のレコード数が異なるため、正確な最大値を設定することは困難です。

ありがとう!

マルク

4

1 に答える 1

5

いいえ、ありません。これは単なる最大値です。キャッシュに 100 個のアイテムしか保持されていない場合、100 個の要素を保持するマップのコストを支払うことになります。ここでは上限は関係ありません。

ConcurrentHashMapそのような選択を正当化するのは難しいですが、はるかに高い制限を安全に使用できます (その下には単純な があります)。

于 2012-05-31T18:44:03.110 に答える