第5章 データコンテナーの設定
Data Grid がエントリーを保存するデータコンテナーを設定します。キャッシュエントリーのエンコーディングを指定し、データをオフヒープメモリーに保存し、エビクションまたは有効期限ポリシーを使用してアクティブなエントリーのみをメモリーに維持します。
5.1. Configuring Encoding for Data Grid Caches リンクのコピーリンクがクリップボードにコピーされました!
キャッシュとの間で書き込みおよび読み取りを行うときに Data Grid がデータをエンコードするために使用する MediaType を定義します。
MediaType を定義するときに、Data Grid にデータの形式を指定します。
Data Grid Console、Hot Rod クライアント、および REST クライアントを同じように使用する場合は、application/x-protostream を指定して、DataGrid がデータを Protobuf 形式でエンコードするようにします。
手順
Data Grid キャッシュ設定で、キーと値の MediaType を指定します。
-
宣言的に行う場合:
encoding属性を設定します。 -
プログラム的に行う場合:
encoding()メソッドを使用します。
-
宣言的に行う場合:
宣言的に行う場合の例
- キーと値に同じエンコーディングを使用します。
<local-cache> <encoding media-type="application/x-protostream"/> </local-cache>
<local-cache>
<encoding media-type="application/x-protostream"/>
</local-cache>
- キーと値に異なるエンコーディングを使用します。
プログラムで行う場合の例
- キーと値に同じエンコーディングを使用します。
- キーと値に異なるエンコーディングを使用します。
ConfigurationBuilder cfg = new ConfigurationBuilder();
cfg.encoding().key().mediaType("text/plain");
cfg.encoding().value().mediaType("application/json");
ConfigurationBuilder cfg = new ConfigurationBuilder();
cfg.encoding().key().mediaType("text/plain");
cfg.encoding().value().mediaType("application/json");
5.1.1. Protobuf 形式でのデータの保存 リンクのコピーリンクがクリップボードにコピーされました!
Protobuf でエンコードされたエントリーとしてデータをキャッシュに保存すると、プラットフォームに依存しない設定が提供され、任意のクライアントからキャッシュ操作を実行できます。
Data Grid Search のインデックスを設定すると、Data Grid は application/x-protostream メディアタイプでキーと値を自動的に保存します。
手順
application/x-protostreamを、以下のようにキーと値の MediaType として指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - クライアントを設定します。
Hot Rod クライアントは、エンティティーおよびクライアントマーシャラーを記述する Protocol Buffers スキーマ定義を登録する必要があります。
Data Grid は application/x-protostream と application/json の間で変換されるため、REST クライアントは次のヘッダーを送信するだけで JSON 形式のデータを読み書きできます。
-
Accept: application/json(読み取り操作の場合) -
Content-Type: application/json(書き込み操作の場合)