3.2. Data Grid コンソールと CLI からのキャッシュのクエリー


Data Grid コンソールと Data Grid コマンドラインインターフェイス (CLI) を使用すると、インデックス付きおよびインデックスなしのリモートキャッシュをクエリーできます。また、任意の HTTP クライアントを使用して、RESTAPI を介してキャッシュにインデックスを付けてクエリーを実行することもできます。

この手順では、Person インスタンスを保存するリモートキャッシュをインデックス化してクエリーする方法を説明します。

前提条件

  • 稼働中の Data Grid Server インスタンスが 1 つ以上ある。
  • 作成権限を持つ Data Grid クレデンシャルを持っている。

手順

  1. 以下の例のように、インデックスアノテーションを Protobuf スキーマに追加します。

    package org.infinispan.example;
    
    /* @Indexed */
    message Person {
        /* @Field(index=Index.YES, store = Store.NO, analyze = Analyze.NO) */
        optional int32 id = 1;
    
        /* @Field(index=Index.YES, store = Store.YES, analyze = Analyze.NO) */
        required string name = 2;
    
        /* @Field(index=Index.YES, store = Store.YES, analyze = Analyze.NO) */
        required string surname = 3;
    
        /* @Field(index=Index.YES, store = Store.YES, analyze = Analyze.NO) */
        optional int32 age = 6;
    
    }

    Data Grid CLI で、以下のように --upload= 引数を指定して schema コマンドを使用します。

    schema --upload=person.proto person.proto
  2. ProtoStream エンコーディングを使用する people という名前のキャッシュを作成し、Data Grid が Protobuf スキーマで宣言されたエンティティーに設定します。

    以下のキャッシュは、直前の手順で Person エンティティーをインデックス化します。

    <distributed-cache name="people">
      <encoding media-type="application/x-protostream"/>
      <indexing>
        <indexed-entities>
          <indexed-entity>org.infinispan.example.Person</indexed-entity>
        </indexed-entities>
      </indexing>
    </distributed-cache>

    CLI で、以下のように --file= 引数を指定して create cache コマンドを使用します。

    create cache --file=people.xml people
  3. キャッシュにエントリーを追加します。

    リモートキャッシュをクエリーするには、一部のデータが含まれている必要があります。以下の手順例では、以下の JSON 値を使用するエントリーを作成します。

    PersonOne

    {
      "_type":"org.infinispan.example.Person",
      "id":1,
      "name":"Person",
      "surname":"One",
      "age":44
    }

    PersonTwo

    {
      "_type":"org.infinispan.example.Person",
      "id":2,
      "name":"Person",
      "surname":"Two",
      "age":27
    }

    PersonThree

    {
      "_type":"org.infinispan.example.Person",
      "id":3,
      "name":"Person",
      "surname":"Three",
      "age":35
    }

    CLI で、以下のように put コマンドを使用して、--file= 引数を指定して各エントリーを追加します。

    put --encoding=application/json --file=personone.json personone
    ヒント

    Data Grid Console から、カスタムタイプを使用して JSON 形式で値を追加する際に、Value content type フィールドの Custom Type を選択する必要があります。

  4. リモートキャッシュをクエリーします。

    CLI で、リモートキャッシュのコンテキストで query コマンドを使用します。

    query "from org.infinispan.example.Person p WHERE p.name='Person' ORDER BY p.age ASC"

    クエリーは昇順で Person と一致する名前を持つすべてのエントリーを返します。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.