2.3. エビクションの使用


Red Hat JBoss Data Grid では、エビクションはデフォルトでは無効にされています。空の <eviction /> 要素を使用して、ストラテジーや最大エントリー数の設定なしにエビクションを有効にすると、次のデフォルト値が使用されます。
  • ストラテジー: 指定されたエビクションストラテジーがない場合、EvictionStrategy.NONE がデフォルトとみなされます。
  • サイズ: 指定された値がない場合、size の値は無制限のエントリーを許可する -1 に設定されます。

2.3.1. エビクションの初期化

エビクションを初期化するには、エビクション要素の size 属性の値をゼロよりも大きい数に設定します。size に設定された値を調整して、使用する設定に最適な値を探します。size に設定する値が大きすぎると、Red Hat JBoss Data Grid のメモリーが不足することに注意してください。
以下の手順は、JBoss Data Grid でエビクションを初期化する手順を簡単に説明しています。

手順2.1 エビクションの初期化

  1. エビクションタグの追加

    <eviction> タグを次のようにプロジェクトの <cache> タグに追加します。
    <eviction />
  2. エビクションストラテジーの設定

    使用するエビクションストラテジーを設定するために strategy の値を設定します。使用可能な値は、LRUUNORDERED および LIRS (またはエビクションが不要な場合は NONE) です。以下は、この手順の例になります。
    <eviction strategy="LRU" />
  3. エビクションに使用する最大サイズの設定

    size 要素を定義してメモリー内で許可されるエントリーの最大数を設定します。無制限のエントリーを許可するためのデフォルト値は -1 です。以下はこの手順について説明しています。
    <eviction strategy="LRU" size="200" />
結果

エビクションがターゲットキャッシュ用に設定されます。

2.3.2. エビクションの設定例

エビクションは Red Hat JBoss Data Grid でプラグラムを使用するか、または XML ファイルを使用して設定できます。エビクションの設定はキャッシュごとに実行されます。
XML 設定例は以下のようになります。
<eviction strategy="LRU" size="2000"/>

2.3.3. メモリーベースのエビクションの利用

Red Hat JBoss Data Grid 7 では、メモリーベースのエビクションを導入し、エントリー数ではなくエントリーのメモリー使用に基づくエントリーのエビクションが可能になりました。これはエントリーのサイズが異なる場合にとくに役立ちます。
キー/値の制限

メモリーベースのエビクションでは、プリミティブ、プリミティブラッパー (java.lang.Integer など)、java.lang.String インスタンス、またはこれらの値のアレイとして保存されるキーおよび値のみを使用できます。

この制限により、カスタムクラスが使用される場合 store-as-binary をキャッシュで有効にする必要があります。またはカスタムクラスのデータをシリアライズし、これをバイトアレイに格納することができます。
ただし互換性モードはバイトアレイへのシリアライズを禁止するため、両者は相互に排他的です。
エビクションストラテジーの制限

メモリーベースのエビクションは、LRU エビクションストラテジーでのみサポートされます。

メモリーベースのエビクションの有効化

このエビクションメソッドは、以下の例にあるように MEMORY をエビクションタイプとして定義することによって使用できます。

<local-cache name="local">
    <eviction size="10000000000" strategy="LRU" type="MEMORY"/>
</local-cache>

2.3.4. エビクションとパッシベーション

エントリーの 1 つのコピーがメモリーまたはキャッシュストアに維持されるようにするため、パッシベーションはエビクションと共に使用してください。
通常のキャッシュストアの代わりにパッシベーションを使用する主な理由は、パッシベーションを使用するとエントリーの更新に必要なリソースが少なくなることにあります。パッシベーションではキャッシュストアへの更新が不要になるためです。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.