第44章 ニアキャッシュ


44.1. ニアキャッシュ

ニアキャッシュは Rod Rod Java クライアント実装の任意のキャッシュで、ユーザーの近くに最近アクセスされたデータを保持し、頻繁に使用されるデータへのアクセスをより迅速にします。このキャッシュは、get または getVersioned 操作によってリモートエントリーが読み出されると更新されるローカルの Hot Rod クライアントキャッシュとして動作します。

重要

ライブラリーモードのニアキャッシュまたは Hot Rod 以外のインターフェースは、1 次キャッシュを設定して実現します。1 次キャッシュの設定方法は、JBoss Data Grid の『Administration and Configuration Guide』を参照してください。

Red Hat JBoss Data Grid では、エントリーの変更時または削除時にクライアントへ通知を送信するリモートイベントを使用して、ニアキャッシュの整合性を保持します (「リモートイベントリスナー (Hot Rod)」を参照してください)。ニアキャッシュでは、ローカルキャッシュはリモートキャッシュと整合性をとります。サーバーのリモートエントリーが更新または削除されるたびにローカルエントリーは更新またはインバリデートされます。クライアントレベルでは、ニアキャッシュは以下のいずれかとして設定されます。

  • DISABLED: デフォルトのモード。ニアキャッシュが有効になっていないことを示します。
  • INVALIDATED: ニアキャッシュを有効にし、インバリデーションメッセージ経由でリモートキャッシュとの同期を維持します。
注記

デフォルトでは、Hot Rod クライアントに対してニアキャッシュは無効になっています。

図44.1 ニアキャッシュアーキテクチャー

Near Caching Architecture Diagram

44.2. ニアキャッシュの設定

ニアキャッシュは、Hot Rod クライアントに変更を加えずに、設定から有効または無効にすることができます。ニアキャッシュを有効にするには、ニアキャッシュモードをクライアント側で INVALIDATED として設定し、任意でキャッシュに保持するエントリーの数を指定します。

ニアキャッシュのモードは、NearCacheMode 列挙を使用して設定されます。

以下の例はニアキャッシュの設定方法を表しています。

ニアキャッシュの有効化

import org.infinispan.client.hotrod.configuration.ConfigurationBuilder;
import org.infinispan.client.hotrod.configuration.NearCacheMode;
…

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.nearCache().mode(NearCacheMode.INVALIDATED).maxEntries(100);

maxEntries(int maxEntries) メソッドを使用してニアキャッシュの最大サイズを提供する必要があります。上記の設定では 100 に定義されています。最大サイズに到達した場合、ニアキャッシュのエントリーは LRU (leaset-recently-used、最近最も使われていない) アルゴリズムを使用してエビクトされます。無制限のニアキャッシュを定義するには、ゼロまたは負の値を渡します。

44.3. クラスター環境でのニアキャッシュ

ニアキャッシュは Hot Rod リモートイベントを使用して実装され、クラスター化リスナーを利用してクラスター全体からのイベントを受信します。クラスター化リスナーはクラスター内の単一ノード上にインストールされ、残りのノードはリスナーがインストールされるノードにイベントを送信します。そのため、ニアキャッシュがバックアップするクラスター化リスナーを実行しているノードに障害が発生する可能性があります。このような場合、別のノードがクラスター化リスナーを引き継ぎます。

クラスター化リスナーを実行しているノードに障害が発生した場合、クライアントフェイルオーバーイベントコールバックを定義および呼び出しすることができます。ニアキャッシュでは、フェイルオーバー中にイベントを見逃す可能性があるため、このコールバックとその実装がニアキャッシュを消去します。

詳細は、「クラスター化リスナー」を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.