第1章 キャッシュエンコーディングの設定


さまざまなメディアタイプで Data Grid キャッシュを設定する方法と、エンコーディングが Data Grid を使用する方法に与える影響について説明します。

1.1. キャッシュエンコーディング

エンコーディングは、メディアタイプで識別される形式です。これは、Data Grid がエントリー (キー/値のペア) をキャッシュに格納するために使用する形式です。

リモートキャッシュ

Data Grid Server は、キャッシュ設定に設定されるエンコーディングを使用してリモートキャッシュにエントリーを保存します。

Hot Rod および REST クライアントには、Data Grid Server に対して行う各要求を持つメディアタイプが含まれます。異なるメディアタイプで読み書き要求を行う複数のクライアントを処理するには、Data Grid Server は、データをオンデマンドで、キャッシュ設定で設定されているメディアタイプとの間で変換します。

リモートキャッシュにエンコーディング設定がない場合、Data Grid Server はメディアタイプの情報なしにキーおよび値を汎用 byte[] として保存します。これにより、異なる形式を要求するクライアントのデータを変換する際に予期せぬ結果が生じる可能性があります。

ProtoStream エンコーディングの使用

Data Grid Server は、クライアントの要求に、キャッシュ設定で設定されるメディアタイプとの間で変換できないメディアタイプが含まれる場合に、エラーを返します。

Data Grid は、Data Grid Console、CLI、Hot Rod、REST などの複数のクライアントを使用する場合は、application/x-protostream メディアタイプでキャッシュエンコーディングを常に設定することを推奨しています。ProtoStream エンコーディングでは、サーバー側のタスクを使用し、リモートキャッシュでインデックス化されたクエリーを実行することもできます。

組み込みキャッシュ

Data Grid は、デフォルトで Plain Old Java Objects(POJO) として埋め込みキャッシュにエントリーを保存します。

クラスター化された組み込みキャッシュの場合、Data Grid はすべての POJO をノード間で複製し、その後に POJO にアンマーシャリングできるバイトアレイにマーシャリングする必要があります。つまり、別のマーシャラーを設定しない場合は、Data Grid が ProtoStream マーシャラーで POJO をシリアライズできるようにする必要があります。

注記

ミュータブルな POJO を組み込みキャッシュに保存する場合は、常に新しい POJO インスタンスを使用して値を更新する必要があります。たとえば、HashMap をキー/値のペアとして保存すると、Data Grid クラスターの他のメンバーには、マップへのローカル変更は表示されません。さらに、Data Grid がオブジェクトをマーシャリングするのと当時にマップインスタンスが更新されると、ConcurrentModificationException が発生する可能性があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.