質問

L1またはL2キャッシュのサイズ - 拡張を設定する方法。キャッシュサイズを増やすことに関心があります。 1つの方法は、キャッシュのタイムアウトを定義することですが、キャッシュサイズの制約を作成できるかどうかを知りたいですか?

rgds navid

役に立ちましたか?

解決

L1キャッシュサイズの拡大を設定する方法

できません。唯一のオプションは次のとおりです clear 「制御」したい場合は、定期的な間隔で手動で持続性コンテキストを手動で文書化します(実際、 clear 非常に攻撃的で、削除します すべてのエンティティ) その大きさ。

L2キャッシュサイズの拡大を設定する方法

これは、基礎となるキャッシュプロバイダーに依存します。つまり、これはL2キャッシュの実装を構成することによって行われます。たとえば、ehcacheにはaがあります maxElementInMemory パラメーター。


L1はどうなりますか?!時間が経つにつれて、どのくらいのエンティティがメモリに含まれますか?制約なし?!

あなたがそれに入れたのと同じくらい、最終的になるまで OutOfMemoryError, 、したがって、そうする必要があります clear 明示的に:

  • 大規模なバッチジョブ(単一のトランザクションで発生した場合でも)
  • 長寿命の場合 EntityManager 使用されている

しかし、通常のパターンは、短命を使用することです EntityManager そして、ほとんどのユースケースはバッチジョブではないため、これは懸念事項ではありません。

参照してください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top