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

このクイック スタートでは、Azure 内の任意のアプリケーションからアクセスできるセキュリティで保護された専用キャッシュにアクセスするために、Azure Cache for Redis を Jedis Redis クライアントを使用する Java アプリに組み込みます。In this quickstart, you incorporate Azure Cache for Redis into a Java app using the Jedis Redis client to have access to a secure, dedicated cache that is accessible from any application within Azure.

前提条件Prerequisites

Azure Cache for Redis を作成するCreate an Azure Cache for Redis

  1. キャッシュを作成するには、Azure portal にサインインし、 [リソースの作成] を選択します。To create a cache, sign in to the Azure portal and select Create a resource.

    [リソースの作成] を選択します

  2. [新規] ページで、 [データベース] を選択し、 [Azure Cache for Redis] を選択します。On the New page, select Databases and then select Azure Cache for Redis.

    Azure Cache for Redis を選択する

  3. [新規 Redis Cache] ページで、新しいキャッシュの設定を構成します。On the New Redis Cache page, configure the settings for your new cache.

    SettingSetting 推奨値Suggested value 説明Description
    DNS 名DNS name グローバルに一意の名前を入力します。Enter a globally unique name. キャッシュ名は 1 から 63 文字の文字列で、数字、英字、ハイフンのみを使用する必要があります。The cache name must be a string between 1 and 63 characters that contains only numbers, letters, or hyphens. 名前の先頭と末尾には数字または文字を使用する必要があり、連続するハイフンを含めることはできません。The name must start and end with a number or letter, and can't contain consecutive hyphens. キャッシュ インスタンスの "ホスト名" は、 <DNS name>.redis.cache.windows.net になります。Your cache instance's host name will be <DNS name>.redis.cache.windows.net.
    サブスクリプションSubscription ドロップダウンで、ご自身のサブスクリプションを選択します。Drop down and select your subscription. この新しい Azure Cache for Redis インスタンスが作成されるサブスクリプション。The subscription under which to create this new Azure Cache for Redis instance.
    リソース グループResource group ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。Drop down and select a resource group, or select Create new and enter a new resource group name. その中にキャッシュやその他のリソースを作成するリソース グループの名前。Name for the resource group in which to create your cache and other resources. すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。By putting all your app resources in one resource group, you can easily manage or delete them together.
    LocationLocation ドロップ ダウンで場所を選択します。Drop down and select a location. キャッシュを使用する他のサービスの近くのリージョンを選択します。Select a region near other services that will use your cache.
    [価格レベル]Pricing tier ドロップ ダウンで価格レベルを選択します。Drop down and select a Pricing tier. 価格レベルによって、キャッシュに使用できるのサイズ、パフォーマンス、および機能が決まります。The pricing tier determines the size, performance, and features that are available for the cache. 詳細については、Azure Cache for Redis の概要に関するページを参照してください。For more information, see Azure Cache for Redis Overview.
  4. 作成 を選択します。Select Create.

    Azure Cache for Redis を作成する

    キャッシュが作成されるまで、しばらく時間がかかります。It takes a while for the cache to create. Azure Cache for Redis の [概要] ページで進行状況を監視できます。You can monitor progress on the Azure Cache for Redis Overview page. [状態] に "実行中" と表示されている場合は、キャッシュを使用する準備ができています。When Status shows as Running, the cache is ready to use.

    Azure Cache for Redis が作成された

Azure portal からホスト名、ポート、アクセス キーを取得するRetrieve host name, ports, and access keys from the Azure portal

Azure Cache for Redis のインスタンスに接続するには、キャッシュ クライアントにキャッシュのホスト名、ポート、およびキーが必要です。To connect to an Azure Cache for Redis instance, cache clients need the host name, ports, and a key for the cache. クライアントによっては、これらの項目を参照するための名前が若干異なる場合があります。Some clients might refer to these items by slightly different names. ホスト名、ポート、およびキーは Azure portal から取得できます。You can get the host name, ports, and keys from the Azure portal.

  • アクセス キーを取得するには、キャッシュの左側のナビゲーションから [アクセス キー] を選択します。To get the access keys, from your cache left navigation, select Access keys.

    Azure Cache for Redis のキー

  • ホスト名とポートを取得するには、キャッシュの左側のナビゲーションから [プロパティ] を選択します。To get the host name and ports, from your cache left navigation, select Properties. ホスト名は、 <DNS 名>.redis.cache.windows.net の形式になります。The host name is of the form <DNS name>.redis.cache.windows.net.

    Azure Cache for Redis のプロパティ

[ホスト名][プライマリ] アクセス キーの環境変数を追加します。Add environment variables for your HOST NAME and Primary access key. コードに機密情報を直接含める代わりに、これらの変数をコードから使用します。You will use these variables from your code instead of including the sensitive information directly in your code.

set REDISCACHEHOSTNAME=contosoCache.redis.cache.windows.net
set REDISCACHEKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

新しい Java アプリを作成するCreate a new Java app

Maven を使用して、新しいクイック スタート アプリを生成します。Using Maven, generate a new quickstart app:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.3 -DgroupId=example.demo -DartifactId=redistest -Dversion=1.0

新しい redistest プロジェクト ディレクトリに移動します。Change to the new redistest project directory.

pom.xml ファイルを開き、Jedis の依存関係を追加します。Open the pom.xml file and add a dependency for Jedis:

    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.9.0</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>

pom.xml ファイルを保存します。Save the pom.xml file.

App.java を開き、コードを次のコードに置き換えます。Open App.java and replace the code with the following code:

package example.demo;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisShardInfo;

/**
 * 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 SSL port using the key.
        JedisShardInfo shardInfo = new JedisShardInfo(cacheHostname, 6380, useSsl);
        shardInfo.setPassword(cachekey); /* Use your access key. */
        Jedis jedis = new Jedis(shardInfo);      

        // 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 のインスタンスに接続する方法を示しています。This code shows you how to connect to an Azure Cache for Redis instance using the cache host name and key environment variables. コードでは、キャッシュ内の文字列値の格納および取得も行います。The code also stores and retrieves a string value in the cache. PING および CLIENT LIST コマンドも実行されます。The PING and CLIENT LIST commands are also executed.

App.java を保存します。Save App.java.

アプリのビルドと実行Build and run the app

次の Maven コマンドを実行して、アプリをビルドおよび実行します。Execute the following Maven command to build and run the app:

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

次の例では、Message キーは、前に Azure portal の Redis コンソールを使って設定されたキャッシュ値を持っていたことがわかります。In the example below, you can see the Message key previously had a cached value, which was set using the Redis Console in the Azure portal. アプリは、そのキャッシュ値を更新しました。The app updated that cached value. また、アプリは PING および CLIENT LIST コマンドも実行しました。The app also executed the PING and CLIENT LIST commands.

Azure Cache for Redis アプリが完了した

リソースのクリーンアップClean up resources

次のチュートリアルに進む場合は、このクイック スタートで作成したリソースを維持して、再利用することができます。If you will be continuing to the next tutorial, you can keep the resources created in this quickstart and reuse them.

クイック スタートのサンプル アプリケーションの使用を終える場合は、課金を避けるために、このクイック スタートで作成した Azure リソースを削除することができます。Otherwise, if you are finished with the quickstart sample application, you can delete the Azure resources created in this quickstart to avoid charges.

重要

いったん削除したリソース グループを元に戻すことはできません。リソース グループとそこに存在するすべてのリソースは完全に削除されます。Deleting a resource group is irreversible and that the resource group and all the resources in it are permanently deleted. 間違ったリソース グループやリソースをうっかり削除しないようにしてください。Make sure that you do not accidentally delete the wrong resource group or resources. このサンプルのホストとなるリソースを、保持するリソースが含まれている既存のリソース グループ内に作成した場合は、リソース グループを削除するのではなく、個々のブレードから各リソースを個別に削除することができます。If you created the resources for hosting this sample inside an existing resource group that contains resources you want to keep, you can delete each resource individually from their respective blades instead of deleting the resource group.

  1. Azure portal にサインインし、 [リソース グループ] を選択します。Sign in to the Azure portal and select Resource groups.

  2. [名前でフィルター] ボックスにリソース グループの名前を入力します。In the Filter by name textbox, type the name of your resource group. この記事の手順では、TestResources という名前のリソース グループを使用しました。The instructions for this article used a resource group named TestResources. 結果一覧でリソース グループの [...] を選択し、 [リソース グループの削除] を選択します。On your resource group in the result list, select ... then Delete resource group.

    Azure リソース グループが削除された

  3. リソース グループの削除の確認を求めるメッセージが表示されます。You will be asked to confirm the deletion of the resource group. 確認のためにリソース グループの名前を入力し、 [削除] を選択します。Type the name of your resource group to confirm, and select Delete.

しばらくすると、リソース グループとそこに含まれているすべてのリソースが削除されます。After a few moments, the resource group and all of its contained resources are deleted.

次の手順Next steps

このクイック スタートでは、Java アプリケーションから Azure Cache for Redis を使用する方法を説明しました。In this quickstart, you learned how to use Azure Cache for Redis from a Java application. ASP.NET Web アプリで Azure Cache for Redis を使用するには、次のクイック スタートに進みます。Continue to the next quickstart to use Azure Cache for Redis with an ASP.NET web app.