L1 または L2 キャッシュのサイズ制限を設定する方法。キャッシュサイズを増やすことを懸念しています。1 つの方法は、キャッシュのタイムアウトを定義することですが、キャッシュ サイズの制約を作成できるかどうかを知りたいですか?
RGDSナビ
L1 または L2 キャッシュのサイズ制限を設定する方法。キャッシュサイズを増やすことを懸念しています。1 つの方法は、キャッシュのタイムアウトを定義することですが、キャッシュ サイズの制約を作成できるかどうかを知りたいですか?
RGDSナビ
L1 キャッシュのサイズ制限を設定する方法
できません。唯一のオプションは、そのサイズを「制御」したい場合 (実際には非常に攻撃的で、すべてのエンティティclear
を削除します) 、永続化コンテキストを定期的に手動で行うことです。clear
L2 キャッシュのサイズ制限を設定する方法
これは、基になるキャッシュ プロバイダーによって異なります。つまり、これは L2 キャッシュの実装を構成することによって行われます。たとえば、EHCache にはmaxElementInMemory
パラメーターがあります。
L1で何が起こる!? 時間の経過とともにどれだけのエンティティがメモリに残るでしょうか? 制約なし?!
最終的な まで、あなたがそれに入れた限りOutOfMemoryError
、したがってclear
明示的にする必要があります:
EntityManager
が使用されている場合ただし、通常のパターンでは有効期間が短くEntityManager
、ほとんどのユース ケースはバッチ ジョブではないため、これは問題ではありません。