Azure Redis Cache によってクラウドで Redis を使用するように Spring Boot Initializer アプリを構成するConfigure a Spring Boot Initializer app to use Redis in the cloud with Azure Redis Cache

この記事では、Azure Portal を使用したクラウドでの Redis Cache の作成、Spring Initializr を使用したカスタム アプリケーションの作成、Redis Cache を使用してデータを保存および取得する Java Web アプリケーションの作成について説明します。This article walks you through creating a Redis cache in the cloud using the Azure portal, then using the Spring Initializr to create a custom application, and then creating a Java web application that stores and retrieves data using your Redis cache.

前提条件Prerequisites

この記事の手順を実行するには、次の前提条件を満たす必要があります。The following prerequisites are required in order to complete the steps in this article:

Spring Initializr を使用してカスタム アプリケーションを作成するCreate a custom application using the Spring Initializr

  1. https://start.spring.io/ を参照します。Browse to https://start.spring.io/.

  2. JavaMaven プロジェクトを生成することを指定し、アプリケーションの [Group](グループ)[Aritifact](アーティファクト) に名前を入力して、Spring Initializr の [Switch to the full version](完全バージョンへの切り替え) のリンクをクリックします。Specify that you want to generate a Maven project with Java, enter the Group and Aritifact names for your application, and then click the link to Switch to the full version of the Spring Initializr.

    基本的な Spring Initializr オプション

    注意

    Spring Initializr では、[Group](グループ)[Aritifact](アーティファクト) の名前を使用してパッケージ名を作成します (例: com.contoso.myazuredemo)。The Spring Initializr will use the Group and Aritifact names to create the package name; for example: com.contoso.myazuredemo.

  3. 下にスクロールして [Web] セクションに移動し、[Web] チェック ボックスをオンにし、下にスクロールして [NoSQL] セクションに移動し、[Redis] チェック ボックスをオンにします。その後、ページの下部までスクロールし、[Generate Project](プロジェクトの生成) ボタンをクリックします。Scroll down to the Web section and check the box for Web, then scroll down to the NoSQL section and check the box for Redis, then scroll to the bottom of the page and click the button to Generate Project.

    すべての Spring Initializr オプション

  4. メッセージが表示されたら、ローカル コンピューター上のパスにプロジェクトをダウンロードします。When prompted, download the project to a path on your local computer.

    カスタム Spring Boot プロジェクトのダウンロード

  5. ファイルをローカル システム上に展開したら、カスタム Spring Boot アプリケーションの編集を開始できます。After you have extracted the files on your local system, your custom Spring Boot application will be ready for editing.

    カスタム Spring Boot プロジェクト ファイル

Azure で Redis Cache を作成するCreate a Redis cache on Azure

  1. https://portal.azure.com/ で Azure Portal を参照し、[+新規] をクリックします。Browse to the Azure portal at https://portal.azure.com/ and click +New.

    Azure ポータル

  2. [データベース] をクリックし、[Redis Cache] をクリックします。Click Database, and then click Redis Cache.

    Azure ポータル

  3. [新規 Redis Cache] ページで、以下の情報を指定します。On the New Redis Cache page, specify the following information:

    • キャッシュの [DNS 名] を入力します。Enter the DNS name for your cache.
    • [サブスクリプション][リソース グループ][場所]、および [価格レベル] を指定します。Specify your Subscription, Resource group, Location, and Pricing tier.
    • このチュートリアルでは、[ポート 6379 のブロックを解除] を選択します。For this tutorial, choose Unblock port 6379.

    注意

    Redis キャッシュで SSL を使用できますが、Jedis のような異なる Redis クライアントを使用する必要があります。You can use SSL with Redis caches, but you would need to use a different Redis client like Jedis. 詳細については、「Java で Azure Redis Cache を使用する方法」をご覧ください。For more information, see How to use Azure Redis Cache with Java.

    これらのオプションの指定後、[作成] をクリックしてキャッシュを作成します。When you have specified these options, click Create to create your cache.

    Azure ポータル

  4. キャッシュが作成されると、Azure のダッシュボードのほか、[すべてのリソース] ブレードと [Redis Cach] ページにも作成したキャッシュが表示されます。Once your cache has been completed, you will see it listed on your Azure Dashboard, as well as under the All Resources, and Redis Caches pages. これらのいずれかの場所でキャッシュをクリックすると、そのキャッシュのプロパティ ページを開くことができます。You can click on your cache on any of those locations to open the properties page for your cache.

    Azure ポータル

  5. キャッシュのプロパティの一覧が含まれているページが表示されたら、[アクセス キー] をクリックし、キャッシュのアクセス キーをコピーします。When the page that contains the list of properties for your cache is displayed, click Access keys and copy your access keys for your cache.

    Azure ポータル

Redis Cache を使用するようにカスタム Spring Boot を構成するConfigure your custom Spring Boot to use your Redis Cache

  1. アプリの resources ディレクトリ内で application.properties ファイルを探すか、まだ存在しない場合はファイルを作成します。Locate the application.properties file in the resources directory of your app, or create the file if it does not already exist.

    application.properties ファイルを探す

  2. テキスト エディターで application.properties ファイルを開き、そのファイルに次の行を追加し、サンプルの値を実際のキャッシュの適切なプロパティに置き換えます。Open the application.properties file in a text editor, and add the following lines to the file, and replace the sample values with the appropriate properties from your cache:

    # Specify the DNS URI of your Redis cache.
    spring.redis.host=myspringbootcache.redis.cache.windows.net
    
    # Specify the port for your Redis cache.
    spring.redis.port=6379
    
    # Specify the access key for your Redis cache.
    spring.redis.password=57686f6120447564652c2049495320526f636b73=
    

    application.properties ファイルの編集

    注意

    SSL を有効にする Jedis のような異なる Redis クライアントを使用している場合は、SSL 使用する旨を application.properties ファイルで指定し、ポート 6380 を使用します。If you were using a different Redis client like Jedis that enables SSL, you would specify that you want to use SSL in your application.properties file and use port 6380. 例: For example:

    # Specify the DNS URI of your Redis cache.
    spring.redis.host=myspringbootcache.redis.cache.windows.net
    # Specify the access key for your Redis cache.
    spring.redis.password=57686f6120447564652c2049495320526f636b73=
    # Specify that you want to use SSL.
    spring.redis.ssl=true
    # Specify the SSL port for your Redis cache.
    spring.redis.port=6380
    

    詳細については、「Java で Azure Redis Cache を使用する方法」をご覧ください。For more information, see How to use Azure Redis Cache with Java.

  3. application.properties ファイルを保存して閉じます。Save and close the application.properties file.

  4. パッケージのソース フォルダーの下に controller という名前のフォルダーを作成します。次に例を示します。Create a folder named controller under the source folder for your package; for example:

    C:\SpringBoot\myazuredemo\src\main\java\com\contoso\myazuredemo\controller

    または-or-

    /users/example/home/myazuredemo/src/main/java/com/contoso/myazuredemo/controller

  5. HelloController.java という名前の新しいファイルを controller フォルダー内に作成します。Create a new file named HelloController.java in the controller folder. テキスト エディターでそのファイルを開き、次の行を追加します。Open the file in a text editor and add the following code to it:

    package com.contoso.myazuredemo;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.data.redis.core.StringRedisTemplate;
    import org.springframework.data.redis.core.ValueOperations;
    
    @RestController
    public class HelloController {
    
       @Autowired
       private StringRedisTemplate template;
    
       @RequestMapping("/")
       // Define the Hello World controller.
       public String hello() {
    
          ValueOperations<String, String> ops = this.template.opsForValue();
    
          // Add a Hello World string to your cache.
          String key = "greeting";
          if (!this.template.hasKey(key)) {
              ops.set(key, "Hello World!");
          }
    
          // Return the string from your cache.
          return ops.get(key);
       }
    }
    

    ここでは、com.contoso.myazuredemo を実際のプロジェクトのパッケージ名に置き換える必要があります。Where you will need to replace com.contoso.myazuredemo with the package name for your project.

  6. HelloController.java ファイルを保存して閉じます。Save and close the HelloController.java file.

  7. Spring Boot アプリケーションを Maven でビルドし、実行します。次に例を示します。Build your Spring Boot application with Maven and run it; for example:

    mvn clean package
    mvn spring-boot:run
    
  8. Web ブラウザーを使用して http://localhost:8080 を参照することによって Web アプリをテストするか、または curl が使用可能な場合は次の例のような構文を使用します。Test the web app by browsing to http://localhost:8080 using a web browser, or use the syntax like the following example if you have curl available:

    curl http://localhost:8080
    

    "Hello World!" You should see the "Hello World!" というメッセージがサンプル コントローラーから表示されることがわかります。これは、Redis cache から動的に取得されます。message from your sample controller displayed, which is being retrieved dynamically from your Redis cache.

次の手順Next steps

Azure での Spring Boot アプリケーションの使用の詳細については、次の記事を参照してください。For more information about using Spring Boot applications on Azure, see the following articles:

Java での Azure の使用の詳細については、「Java 開発者向けの Azure」および Visual Studio Team Services 用の Java ツール を参照してください。For more information about using Azure with Java, see the Azure for Java Developers and the Java Tools for Visual Studio Team Services.

Azure 上の Java での Redis Cache の使用開始の詳細については、「Java で Azure Redis Cache を使用する方法」を参照してください。For more information about getting started using Redis Cache with Java on Azure, see How to use Azure Redis Cache with Java.

Spring Framework は Java 開発者のエンタープライズ レベルのアプリケーション作成を支援するオープンソース ソリューションです。The Spring Framework is an open-source solution that helps Java developers create enterprise-level applications. このプラットフォームで構築される特に知られたプロジェクトの 1 つが Spring Boot です。これによって、スタンドアロンの Java アプリケーションの作成方法が簡略化されます。One of the more-popular projects that is built on top of that platform is Spring Boot, which provides a simplified approach for creating stand-alone Java applications. Spring Boot を使い始めた開発者を支援するために、https://github.com/spring-guides/ では、サンプルの Spring Boot パッケージがいくつか用意されています。To help developers get started with Spring Boot, several sample Spring Boot packages are available at https://github.com/spring-guides/. 基本的な Spring Boot プロジェクトの一覧から選択するだけでなく、Spring Initializr は、開発者がカスタム Spring Boot アプリケーションの作成を開始できるように支援します。In addition to choosing from the list of basic Spring Boot projects, the Spring Initializr helps developers get started with creating custom Spring Boot applications.