クイックスタート: Java で Azure Cache for Redis を使用する

このクイックスタートでは、Jedis Redis クライアントを使用して、Java アプリに Azure Cache for Redis を組み込みます。 キャッシュは、Azure 内の任意のアプリケーションからアクセスできるセキュリティで保護された専用キャッシュです。

GitHub のコードにスキップする

GitHub でリポジトリ Java クイック スタートを複製します。

前提条件

Azure Cache for Redis を作成する

  1. キャッシュを作成するには、Azure portal にサインインし、 [リソースの作成] を選択します。

    Create a resource is highlighted in the left navigation pane.

  2. [新規] ページで、 [データベース] を選択し、 [Azure Cache for Redis] を選択します。

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

  3. [新規 Redis Cache] ページで、新しいキャッシュの設定を構成します。

    設定 値を選択する 説明
    サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この新しい Azure Cache for Redis インスタンスが作成されるサブスクリプション。
    リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 その中にキャッシュやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。
    DNS 名 一意の名前を入力します。 キャッシュ名は 1 から 63 文字の文字列で、数字、英字、ハイフンのみを使用する必要があります。 名前の先頭と末尾には数字または文字を使用する必要があり、連続するハイフンを含めることはできません。 キャッシュ インスタンスの "ホスト名" は、<DNS name>.redis.cache.windows.net です。
    場所 ドロップ ダウンで場所を選択します。 キャッシュを使用する他のサービスの近くのリージョンを選択します。
    キャッシュの種類 ドロップ ダウンでレベルを選択します。 レベルによって、キャッシュに使用できるのサイズ、パフォーマンス、および機能が決まります。 詳細については、Azure Cache for Redis の概要に関するページを参照してください。
  4. [ネットワーク] タブを選択するか、ページの下部にある [ネットワーク] ボタンを選択します。

  5. [ネットワーク] タブで、接続方法を選択します。

  6. [次へ: 詳細] タブを選ぶか、ページの下部にある [次へ: 詳細] ボタンを選んで、[詳細] タブを表示します。

    Screenshot showing the Advanced tab in the working pane and the available option to select.

    • Basic または Standard キャッシュの場合は、非 TLS ポートの選択を切り替えます。 [Microsoft Entra の認証] を有効にするかどうかを選ぶこともできます。
    • Premium キャッシュの場合は、非 TLS ポート、クラスタリング、マネージド ID、データ永続化の設定を構成します。 [Microsoft Entra の認証] を有効にするかどうかを選ぶこともできます。
  7. ページの下部にある [次へ: タグ] タブを選択するか、ページの下部にある [次へ: タグ] ボタンを選択します。

  8. 必要に応じて、 [タグ] タブで、リソースを分類する場合は名前と値を入力します。

  9. [Review + create](レビュー + 作成) を選択します。 [確認および作成] タブが表示され、Azure によって構成が検証されます。

  10. 緑色の検証に成功のメッセージが表示された後、 [作成] を選択します。

キャッシュが作成されるまで、しばらく時間がかかります。 Azure Cache for Redis の [概要] ページで進行状況を監視できます。 [状態] に "実行中" と表示されている場合は、キャッシュを使用する準備ができています。

Azure portal からホスト名、ポート、アクセス キーを取得する

Azure Cache for Redis サーバーに接続するには、キャッシュ クライアントにキャッシュのホスト名、ポート、およびキーが必要です。 クライアントによっては、これらの項目を参照するための名前が若干異なる場合があります。 ホスト名、ポート、およびキーは Azure portal から取得できます。

  • アクセス キーを取得するには、キャッシュの左側のナビゲーションから [アクセス キー] を選択します。

    Azure Cache for Redis keys

  • ホスト名とポートを取得するには、キャッシュの左側のナビゲーションから [プロパティ] を選択します。 ホスト名は、<DNS 名>.redis.cache.windows.net の形式になります。

    Azure Cache for Redis properties

作業環境のセットアップ

オペレーティング システムに応じて、前に記した [ホスト名][プライマリ アクセス キー] の環境変数を追加します。 コマンド プロンプトまたはターミナル ウィンドウを開き、次の値を設定します。

export REDISCACHEHOSTNAME=<your-host-name>.redis.cache.windows.net
export REDISCACHEKEY=<your-primary-access-key>

プレースホルダーを次の値に置き換えます。

  • <your-host-name>:Azure portal の Azure Cache for Redis リソースの [プロパティ] セクションから取得した DNS ホスト名。
  • <your-primary-access-key>:Azure portal の Azure Cache for Redis リソースの [アクセス キー] セクションから取得したプライマリ アクセス キー。

Java サンプルについて

このサンプルでは、Maven を使用してクイックスタート アプリを実行します。

  1. 新しい redistest プロジェクト ディレクトリに移動します。

  2. pom.xml ファイルを開きます。 このファイルには、Jedis の依存関係が表示されます。

    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>4.1.0</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    
  3. pom.xml ファイルを閉じます。

  4. App.java を開き、コードを次のコードと参照してください。

    package example.demo;
    
    import redis.clients.jedis.DefaultJedisClientConfig;
    import redis.clients.jedis.Jedis;
    
    /**
     * Redis test
     *
     */
    public class App 
    {
        public static void main( String[] args )
        {
    
            boolean useSsl = true;
            String cacheHostname = System.getenv("REDISCACHEHOSTNAME");
            String cachekey = System.getenv("REDISCACHEKEY");
    
            // Connect to the Azure Cache for Redis over the TLS/SSL port using the key.
            Jedis jedis = new Jedis(cacheHostname, 6380, DefaultJedisClientConfig.builder()
                .password(cachekey)
                .ssl(useSsl)
                .build());
    
            // Perform cache operations using the cache connection object...
    
            // Simple PING command
            System.out.println( "\nCache Command  : Ping" );
            System.out.println( "Cache Response : " + jedis.ping());
    
            // Simple get and put of integral data types into the cache
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            System.out.println( "\nCache Command  : SET Message" );
            System.out.println( "Cache Response : " + jedis.set("Message", "Hello! The cache is working from Java!"));
    
            // Demonstrate "SET Message" executed as expected...
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            // Get the client list, useful to see if connection list is growing...
            System.out.println( "\nCache Command  : CLIENT LIST" );
            System.out.println( "Cache Response : " + jedis.clientList());
    
            jedis.close();
        }
    }
    

    このコードでは、キャッシュ ホスト名とキー環境変数を使用して Azure Cache for Redis のインスタンスに接続する方法を示しています。 コードでは、キャッシュ内の文字列値の格納および取得も行います。 PING および CLIENT LIST コマンドも実行されます。

  5. App.java を閉じます。

アプリのビルドと実行

  1. まず、まだ行っていない場合は、前述のように環境変数を設定する必要があります。

    export REDISCACHEHOSTNAME=<your-host-name>.redis.cache.windows.net
    export REDISCACHEKEY=<your-primary-access-key>
    
  2. 次の Maven コマンドを実行して、アプリをビルドおよび実行します。

    mvn compile
    mvn exec:java -D exec.mainClass=example.demo.App
    

次の出力では、Message キーに以前にキャッシュされた値があることがわかります。 この値は、jedis.setを使用して新しい値に更新されました。 また、アプリは PING および CLIENT LIST コマンドも実行しました。

Cache Command  : Ping
Cache Response : PONG

Cache Command  : GET Message
Cache Response : Hello! The cache is working from Java!

Cache Command  : SET Message
Cache Response : OK

Cache Command  : GET Message
Cache Response : Hello! The cache is working from Java!

Cache Command  : CLIENT LIST
Cache Response : id=777430 addr=             :58989 fd=22 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 ow=0 owmem=0 events=r cmd=client numops=6

リソースをクリーンアップする

クイックスタート コードを継続して使用する場合は、このクイックスタートで作成されたリソースを保持し、それを再利用できます。

クイックスタートのサンプル アプリケーションの使用を終える場合は、課金を避けるために、このクイックスタートで作成した Azure リソースを削除することができます。

重要

いったん削除したリソース グループを元に戻すことはできません。リソース グループとそこに存在するすべてのリソースは完全に削除されます。 間違ったリソース グループやリソースをうっかり削除しないようにしてください。 このサンプルをホストするためのリソースを、保持するリソースが含まれる既存のリソース グループ内に作成した場合、リソース グループを削除する代わりに、各リソースを個別に削除できます。

  1. Azure portal にサインインし、 [リソース グループ] を選択します。

  2. [名前でフィルター] ボックスにリソース グループの名前を入力します。 この記事の手順では、TestResources という名前のリソース グループを使用しました。 結果一覧でリソース グループの [...] を選択し、 [リソース グループの削除] を選択します。

    Screenshot of the Azure portal that shows the Resource groups page with the Delete resource group button highlighted.

  3. 削除を確認するためにリソース グループの名前を入力し、[削除] を選択します。

しばらくすると、リソース グループとそこに含まれているすべてのリソースが削除されます。

次のステップ

このクイック スタートでは、Java アプリケーションから Azure Cache for Redis を使用する方法を説明しました。 ASP.NET Web アプリと Azure Cache for Redis を使用するには、次のクイック スタートに進みます。