第4章 Data Grid キャッシュの設定


Data Grid を使用すると、プログラムを使用してキャッシュするプロパティーとオプションを定義できます。

宣言型設定は、Data Grid スキーマに準拠する XML ファイルを使用します。一方、プログラムによる設定は Data Grid API を使用します。

ほとんどの場合、キャッシュ定義の開始点として宣言型設定を使用します。実行時に、プログラムでキャッシュを設定して、設定を調整したり、追加のプロパティーを指定したりできます。しかし、Data Grid は柔軟性があるため、宣言的、プログラムによる、またはこの 2 つの組み合わせを選択できます。

4.1. 宣言型設定

infinispan.xml でプロパティーを定義して、Data Grid キャッシュを設定します。

以下の例は、Data Grid 設定の基本構造を示しています。

<infinispan> 1
   <cache-container default-cache="local"> 2
      <transport stack="udp" cluster="mycluster"/> 3
      <local-cache name="local"/> 4
      <invalidation-cache name="invalidation"/> 5
      <replicated-cache name="replicated"/> 6
      <distributed-cache name="distributed"/> 7
   </cache-container>
</infinispan>
1
Data Grid 設定のルート要素を追加します。有効な最小設定は <infinispan />ですが、これはクラスタリングなしで、キャッシュインスタンスがない非常に基本的な機能を提供します。
2
コンテナー内のすべてのキャッシュのプロパティーを定義し、デフォルトのキャッシュに名前を付けます。
3
クラスター化されたキャッシュモードのトランスポートプロパティーを定義します。上記の例では、stack="udp" はデフォルトの JGroups UDP トランスポートスタックを指定し、Data Grid クラスターに名前を付けます。
4
ローカルキャッシュ。
5
Invalidation cache
6
レプリケートされたキャッシュ
7
分散キャッシュ

4.1.1. キャッシュ設定テンプレート

Data Grid を使用すると、複数のキャッシュ定義に適用したり、複雑な設定の基礎として使用できる設定テンプレートを定義できます。

たとえば、以下の設定には、ローカルキャッシュの設定テンプレートが含まれます。

<infinispan>
   <cache-container default-cache="local"> 1
      <local-cache-configuration name="local-template"> 2
         <expiration interval="10000" lifespan="10" max-idle="10"/>
      </local-cache-configuration>
      <local-cache name="local" configuration="local-template" /> 3
   </cache-container>
</infinispan>
1
ローカルキャッシュをデフォルトとして指定します。
2
ローカルキャッシュの有効期限ポリシーを定義する local-template という名前の設定テンプレートを定義します。
3
設定テンプレートを使用するローカルキャッシュインスタンスに名前を付けます。

設定テンプレートを使用した継承

設定テンプレートは、他のテンプレートから継承して設定を拡張し、上書きすることもできます。

注記

設定テンプレートの継承は階層的です。親から継承する子設定テンプレートの場合は、親テンプレートの後に追加する必要があります。

以下は、設定テンプレートの継承の例です。

<infinispan>
   <cache-container default-cache="local">
      <local-cache-configuration name="base-template"> 1
         <expiration interval="10000" lifespan="10" max-idle="10"/>
      </local-cache-configuration>

      <local-cache-configuration name="extended-template"
                                 configuration="base-template"> 2
         <expiration lifespan="20"/>
         <memory>
            <object size="2000"/>
         </memory>
      </local-cache-configuration>

      <local-cache name="local" configuration="base-template" /> 3
      <local-cache name="local-bounded" configuration="extended-template" /> 4
   </cache-container>
</infinispan>
1
ローカルキャッシュの有効期限ポリシーを定義する base-template という名前の設定テンプレートを定義します。この例では、base-template が親設定テンプレートです。
2
base-template から設定を継承する extendeded-template という名前の設定テンプレートを定義し、有効期限の lifespan 属性を変更し、設定に memory 要素を追加します。この例では、extended-template は base-template の子です。
3
base-template の設定を使用するローカルキャッシュに名前を付けます。
4
extendeded-template の設定を使用するローカルキャッシュに名前を付けます。
重要

設定のテンプレートの継承は、property などの複数の値を持つ要素について加算されます。結果として作成される子設定は親設定から値がマージされます。

たとえば、親設定のマージの <property value_x="foo" /> は子設定の <property value_y="bar" /> とマージされ、結果として <property value_x="foo" value_y="bar" /> になります。

4.1.2. キャッシュ設定ワイルドカード

ワイルドカードを使用してキャッシュ定義と設定テンプレートを照合することができます。

<infinispan>
    <cache-container>
        <local-cache-configuration name="basecache*"> 1
            <expiration interval="10500" lifespan="11" max-idle="11"/>
        </local-cache-configuration>
        <local-cache name="basecache-1"/> 2
        <local-cache name="basecache-2"/> 3
    </cache-container>
</infinispan>
1
* ワイルドカードを使用して、basecache で始まるキャッシュ名を照合します。
2
basecache* 設定テンプレートを使用するローカルキャッシュ basecache-1 に名前を付けます。
3
basecache* 設定テンプレートを使用するローカルキャッシュ basecache-2 に名前を付けます。
注記

キャッシュ名が複数のワイルドカードと一致する場合は、Data Grid は例外を出力します。

4.1.3. 複数の設定ファイル

Data Grid は、複数のファイルに設定を分割する XML 包含 (XInclude) をサポートします。

たとえば、以下の設定では XInclude を使用します。

<infinispan xmlns:xi="http://www.w3.org/2001/XInclude">
    <cache-container default-cache="cache-1">
        <xi:include href="local.xml" /> 1
    </cache-container>
</infinispan>
1
以下のキャッシュ定義が含まれる local.xml ファイルが含まれます。
<local-cache name="mycache"/>

含まれるフラグメントにスキーマを使用する場合は、infinispan-config-fragment-11.0.xsd スキーマを使用します。

include-with-schema.xml

<local-cache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="urn:infinispan:config:11.0 https://infinispan.org/schemas/infinispan-config-fragment-11.0.xsd"
             xmlns="urn:infinispan:config:11.0"
             name="mycache"/>

注記

Data Grid 設定は、XInclude 仕様の最小サポートのみを提供します。たとえば、xpointer 属性、xi:fallback 要素、テキスト処理、またはコンテンツネゴシエーションは使用できません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.