15.4.3.2. 名前付きキャッシュ設定


キャッシュ名を環境変数の接頭辞として大文字で指定します。このように指定しないと、設定は反映されません。

たとえば、MyCacheMYCACHE の 2 つのキャッシュインスタンスを作成します。次に、MyCache_CACHE_TYPE=replicated を設定して MyCache インスタンスを設定します。この設定は有効ではありません。ただし、MYCACHE_CACHE_TYPE=replicated を設定すると、MyCacheMYCACHE インスタンスの両方で設定が有効になります。

${CACHE_NAME}_CACHE_TYPE
このキャッシュを分散するか、複製するかどうかを決定します。Distributed(デフォルト)または Replicated のいずれかを指定できます。
${CACHE_NAME}_CACHE_START

キャッシュの起動方法を設定します。以下のいずれかを指定します。

  • LAZY: サービスまたはデプロイメントで要求されたときにキャッシュを開始します。これがデフォルトになります。
  • EAGER: サーバーの起動時にキャッシュを起動します。
${CACHE_NAME}_CACHE_BATCHING
このキャッシュの呼び出しのバッチ処理を有効にします。この値は true または false(デフォルト)です。
${CACHE_NAME}_CACHE_STATISTICS
統計を収集するようにキャッシュを設定します。値は true(デフォルト)または false です。パフォーマンスを向上させるために、値を false に設定します。
${CACHE_NAME}_CACHE_MODE

クラスター化されたキャッシュモードを設定します。以下のいずれかを指定します。

  • 非同期操作の場合: ASYNC
  • 同期操作の場合: SYNC
${CACHE_NAME}_CACHE_QUEUE_SIZE
キャッシュが ASYNC モードの場合は、レプリケーションキューをフラッシュするしきい値を設定します。デフォルト値は 0(フラッシュは無効)です。
${CACHE_NAME}_CACHE_QUEUE_FLUSH_INTERVAL
ASYNC モードでレプリケーションキューをフラッシュするスレッドの起動時間をミリ秒単位で指定します。デフォルト値は 10 です。
${CACHE_NAME}_CACHE_REMOTE_TIMEOUT
SYNC モードでリモート呼び出しを行うときにタイムアウトまで確認応答を待つ時間をミリ秒単位で指定します。タイムアウトに達すると、リモート呼び出しが中断され、例外が発生します。デフォルト値は 17500 です。
${CACHE_NAME}_CACHE_OWNERS
各キャッシュエントリーのクラスター全体のレプリカの数を指定します。デフォルト値は 2 です。
${CACHE_NAME}_CACHE_SEGMENTS
クラスターごとにハッシュ領域セグメントの数を指定します。推奨値は 10 * クラスターサイズ です。デフォルト値は 80 です。
${CACHE_NAME}_CACHE_L1_LIFESPAN
L1 キャッシュに置かれたエントリーの最大有効期間をミリ秒単位で指定します。デフォルト値は 0 (L1 は無効)です。
${CACHE_NAME}_CACHE_MEMORY_EVICTION_TYPE

キャッシュ内のエントリーの最大制限を定義します。以下の値を設定できます。

  • COUNT は、キャッシュ内のエントリーの数を測定します。数が最大値を超えると、Data Grid は未使用のエントリーをエビクトします。
  • MEMORY は、キャッシュ内のすべてのエントリーが占めるメモリの量を測定します。メモリーの合計サイズが最大値を超えると、Data Grid は未使用のエントリーをエビクトします。
${CACHE_NAME}_CACHE_MEMORY_STORAGE_TYPE

Data Grid がエントリーをキャッシュに保存する方法を定義します。以下の値を設定できます。

ストレージタイプ詳細エビクションタイプポリシー

object

エントリーをオブジェクトとして Java ヒープに格納します。これはデフォルトのストレージタイプです。

カウント

TinyLFU

バイナリー

エントリーを bytes[] として Java ヒープに格納します。

COUNT または MEMORY

TinyLFU

off-heap

エントリーを bytes[] として Java 外のネイティブメモリーに保存します。

COUNT または MEMORY

LRU

${CACHE_NAME}_CACHE_MEMORY_EVICTION_SIZE

エビクションの開始前にキャッシュのサイズを設定します。この値は、ゼロよりも大きい数に設定します。

  • COUNT の場合: サイズはエビクションの開始前にキャッシュが保持できるエントリーの最大数になります。
  • MEMORY の場合: サイズはエビクションの開始前にキャッシュがメモリーから消費できる最大バイト数です。たとえば、10000000000 の値は 10 GB です。

    異なるキャッシュサイズを試し、最適な設定を決定します。キャッシュサイズが大きすぎることが原因で、Data Grid がメモリー不足になる可能性があります。同時に、キャッシュサイズが小さすぎる場合には、利用可能なメモリーを無駄にします。

    注記

    JDBC ストアを設定する場合には、エビクションサイズをゼロより大きい値に設定するとパッシベーションは自動的に有効になります。

${CACHE_NAME}_CACHE_MEMORY_EVICTION_STRATEGY

Data Grid がエビクションを実行する方法を制御します。以下の値を設定できます。

ストラテジー説明

NONE

Data Grid はエントリーを削除しません。これは、エビクションを構成しない限り、デフォルト設定です。

REMOVE

Data Grid は、キャッシュが構成されたサイズを超えないように、メモリーからエントリーを削除します。これは、エビクションを構成するときのデフォルト設定です。

MANUAL

Data Grid は削除を実行しません。削除は、evict() メソッドを Cache API から呼び出すことによって手動で行われます。

EXCEPTION

Data Grid は、設定されたサイズを超える場合、キャッシュに新しいエントリーを書き込みません。キャッシュに新しいエントリーを書き込む代わりに、Data Grid は ContainerFullException スローします。

${CACHE_NAME}_CACHE_MEMORY_OFF_HEAP_ADDRESS_COUNT

OFFHEAP ストレージの使用時に競合を防ぐためにハッシュマップで利用可能なポインターの数を指定します。ハッシュマップの競合を防ぐことで、パフォーマンスが向上します。

この値は、キャッシュエントリーの数よりも大きい数に設定します。デフォルトでは、address-count は 2^20 または 1048576 です。このパラメーターは常に 2 の累乗に丸められます。

${CACHE_NAME}_CACHE_EXPIRATION_LIFESPAN
キャッシュエントリーの最大有効期限(ミリ秒単位)を指定します。この有効期限をすぎると、エントリーはクラスター全体で無効になります。デフォルト値は -1 (エントリーの有効期限なし)です。
${CACHE_NAME}_CACHE_EXPIRATION_MAX_IDLE
キャッシュエントリーがキャッシュ内で保持される、最大アイドル時間(ミリ秒単位)を指定します。アイドル時間を超えると、エントリー全体が期限切れになります。デフォルト値は -1(有効期限なし)です。
${CACHE_NAME}_CACHE_EXPIRATION_INTERVAL
メモリーおよびキャッシュストアから期限切れのエントリーをパージする間隔をミリ秒単位で指定します。デフォルト値は 5000 です。有効期限を無効にするには -1 を設定します。
${CACHE_NAME}_JDBC_STORE_TYPE

設定する JDBC ストアのタイプを指定します。以下の値を設定できます。

  • string
  • バイナリー
${CACHE_NAME}_JDBC_STORE_DATASOURCE

データソースの jndiname を定義します。

たとえば、MYCACHE_JDBC_STORE_DATASOURCE=java:jboss/datasources/ExampleDS です。

${CACHE_NAME}_KEYED_TABLE_PREFIX
キャッシュエントリーテーブルの名前の作成時に使用されるキャッシュ名の先頭にプレフィックスを定義します。defaule 値は ispn_entry です。
${CACHE_NAME}_CACHE_INDEX

キャッシュのインデックスモードを設定します。以下の値を設定できます。

  • NONE: これはデフォルトです。
  • LOCAL
  • ALL
${CACHE_NAME}_INDEXING_PROPERTIES

インデックスシステムに渡すプロパティーのコンマ区切りリストを指定します。

例: MYCACHE_INDEXING_PROPERTIES=default.directory_provider=ram

${CACHE_NAME}_CACHE_SECURITY_AUTHORIZATION_ENABLED
このキャッシュの承認チェックを有効にします。この値は true または false(デフォルト)です。
${CACHE_NAME}_CACHE_SECURITY_AUTHORIZATION_ROLES

このキャッシュへのアクセスに必要なロールを設定します。

例: MYCACHE_CACHE_SECURITY_AUTHORIZATION_ROLES=admin, reader, writer

${CACHE_NAME}_CACHE_PARTITION_HANDLING_WHEN_SPLIT

ネットワークイベントを使用してノード間を分離する場合に、クラスターのノード間でパーティションを処理するためのストラテジーを設定します。Data Grid がキャッシュエントリーをマージして単一のクラスターを再形成するまで、パーティションは独立したクラスターとして機能します。以下の値を設定できます。

パーティション処理ストラテジー詳細

ALLOW_READ_WRITES

任意のパーティションのノードは、キャッシュエントリーを読み書きできます。これはデフォルト値です。

DENY_READ_WRITES

以下の場合に、ノードは degraded モードになります。

* パーティションの 1 つ以上のハッシュスペースセグメントに所有者がない。所有者 は、キャッシュエントリーのクラスター全体のレプリカ数です。

* パーティションに含まれるノードの半分未満が直近の安定したクラスタートポロジーからである。

degraded モードでは、同じパーティションのノードのみがキャッシュエントリーを読み書きできます。キャッシュエントリーの所有者またはコピーがすべて同じパーティションに存在する必要があります。存在しない場合には、AvailabilityException で、読み取りまたは書き込み操作に失敗します。

ALLOW_READS

ノードは、DENY_READ_WRITES ストラテジーと同様に degraded モードになります。任意のパーティションのノードは、キャッシュエントリーを読み取ることができます。

degraded モードでは、同じパーティションのノードのみがキャッシュエントリーを書き込みできます。キャッシュエントリーの所有者またはコピーがすべて同じパーティションに存在する必要があります。存在しない場合には、AvailabilityException で、書き込み操作に失敗します。

${CACHE_NAME}_CACHE_PARTITION_MERGE_POLICY

Data Grid がパーティションのマージ時に、キャッシュエントリー間で競合を解決する方法を設定します。以下の値を設定できます。

マージポリシー詳細

NONE

パーティションをマージする時に、競合解決は実行されません。これはデフォルト値です。

PREFERRED_ALWAYS

常に preferredEntry を使用します。preferredEntry は、ほとんどのノードが含まれるパーティションに存在するキャッシュエントリーのプライマリーレプリカです。パーティションにあるノードの数が同じ場合には、preferredEntry は、トポロジー ID が最も高いパーティション (トポロジーが最も新しいパーティション) に存在するキャッシュエントリーになります。

PREFERRED_NON_NULL

値(null 以外)がある場合は、preferredEntry を使用します。preferredEntry に値がない場合は、otherEntries で定義された最初のエントリーを使用します。

REMOVE_ALL

競合が存在する場合は、キャッシュからエントリー(キーと値)を削除します。

${CACHE_NAME}_STATE_TRANSFER_TIMEOUT

クラスターの他のキャッシュインスタンスが状態をキャッシュに転送するまで待機する時間(ミリ秒単位)を設定します。タイムアウトが発生する前に他のキャッシュインスタンスが移行状態にならないと、アプリケーションは例外をスローし、起動を中止します。デフォルト値は 240000 (4 分)です。

この環境変数を設定するには、カスタムテンプレートを使用する必要があります。デフォルトの Data Grid for OpenShift テンプレートで状態遷移タイムアウトを設定した場合には、有効になりません。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.