演習 - .NET Core を使用してアプリを Azure Cache for Redis に接続する

完了

この演習では、次の方法を学習します。

  • Azure CLI コマンドを使用して、新しい Redis Cache インスタンスを作成します。
  • StackExchange.Redis パッケージを使用して、キャッシュの値を追加および取得する .NET Core コンソール アプリを作成します。

前提条件

Azure リソースを作成する

  1. ポータル (https://portal.azure.com) にサインインして、Cloud Shell を開き、シェルとして Bash を選択します。

  2. Azure リソースのリソース グループを作成します。 <myLocation> を最寄りのリージョンに置き換えます。

    az group create --name az204-redis-rg --location <myLocation>
    
  3. az redis create コマンドを使用して、Azure Cache for Redis インスタンスを作成します。 インスタンス名は一意である必要があり、次のスクリプトではそのような名前の生成が試行されます。<myLocation> を、前のステップで使用したリージョンで置き換えてください。 このコマンドが完了するまでに数分かかります。

    redisName=az204redis$RANDOM
    az redis create --location <myLocation> \
        --resource-group az204-redis-rg \
        --name $redisName \
        --sku Basic --vm-size c0
    
  4. Azure portal で、作成した新しい Redis Cache に移動します。

  5. ナビゲーション ウィンドウの [設定]/[認証] セクションで、[アクセス キー] を選択します。ポータルは開いたままにしてください。 後でアプリで使用するため、プライマリ接続文字列 (StackExchange.Redis) の値をコピーします。

コンソール アプリケーションを作成する

  1. 次のコマンドを Visual Studio Code ターミナルで実行してコンソール アプリを作成します。

    dotnet new console -o Rediscache
    
  2. Visual Studio Code で [ファイル] > [フォルダーを開く] を選択し、アプリのフォルダーを選択して、アプリを開きます。

  3. StackExchange.Redis パッケージをプロジェクトに追加します。

    dotnet add package StackExchange.Redis
    
  4. Program.cs ファイルに既存のコードがある場合、それを削除し、先頭に using ステートメントを追加します。

    using StackExchange.Redis;
    
  5. 次の変数を using ステートメントの後ろに追加し、<REDIS_CONNECTION_STRING> をポータルのプライマリ接続文字列 (StackExchange.Redis) に置き換えます。

    // connection string to your Redis Cache    
    string connectionString = "REDIS_CONNECTION_STRING";
    
  6. Program.cs ファイルに次のコードを追加します。

    using (var cache = ConnectionMultiplexer.Connect(connectionString))
    {
        IDatabase db = cache.GetDatabase();
    
        // Snippet below executes a PING to test the server connection
        var result = await db.ExecuteAsync("ping");
        Console.WriteLine($"PING = {result.Resp2Type} : {result}");
    
        // Call StringSetAsync on the IDatabase object to set the key "test:key" to the value "100"
        bool setValue = await db.StringSetAsync("test:key", "100");
        Console.WriteLine($"SET: {setValue}");
    
        // StringGetAsync retrieves the value for the "test" key
        string getValue = await db.StringGetAsync("test:key");
        Console.WriteLine($"GET: {getValue}");
    }
    
  7. Visual Studio Code ターミナルで、次のコマンドを実行してアプリをビルドして実行します。

    dotnet build
    dotnet run
    

    出力は次の例のようになります。

    PING = SimpleString : PONG
    SET: True
    GET: 100
    
  8. ポータルに戻り、[Azure Cache for Redis] ブレードの [アクティビティ ログ] を選択します。 ログで操作を表示できます。

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

リソースが不要になった場合は、az group delete コマンドを使用して、リソース グループを削除できます。

az group delete -n az204-redis-rg --no-wait