2.9. エビクションポリシーの使用
エビクションポリシーはキャッシュローダーに対応します。 キャッシュがメモリ不足にならないようにし、 キャッシュが満杯になってきたら個別のスレッドで実行されるエビクションアルゴリズムがインメモリステートをエビクトし、 メモリの空き領域を確保するようにするために必要です。 エビクションポリシーをキャッシュローダーに設定すると、 必要時にステートをキャッシュローダーより読み取ることができます。
エビクションポリシーはリージョンごとに設定できるため、 キャッシュのサブツリーによって異なるエビクションが設定されることがあります。 JBoss Cache には複数のエビクションポリシーが同梱されています。
設定の詳細やカスタムエビクションポリシーの実装については、 10章エビクション を参照してください。
org.jboss.cache.eviction.LRUPolicy
- しきい値に達すると、 最も長い間使用されていないノードをエビクトするエビクションポリシーです。org.jboss.cache.eviction.LFUPolicy
- しきい値に達すると、 最も使用頻度が低いノードをエビクトするエビクションポリシーです。org.jboss.cache.eviction.MRUPolicy
- しきい値に達すると、 最も最近使用されたノードをエビクトするエビクションポリシーです。org.jboss.cache.eviction.FIFOPolicy
- しきい値に達すると、 先入れ先出しキューを作成して最も古いノードをエビクトするエビクションポリシーです。org.jboss.cache.eviction.ExpirationPolicy
- 各ノードに設定された失効時間を基にエビクトするノードを選択するエビクションポリシーです。org.jboss.cache.eviction.ElementSizePolicy
- ノードに保持されているキーと値のペア数を基にエビクトするノードを選択するエビクションポリシーです。