演習 - .NET Core を使用してアプリを Azure Cache for Redis に接続する
この演習では、次の方法を学習します。
- Azure CLI コマンドを使用して、新しい Redis Cache インスタンスを作成します。
- StackExchange.Redis パッケージを使用して、キャッシュの値を追加および取得する .NET Core コンソール アプリを作成します。
前提条件
- アクティブなサブスクリプションがある Azure アカウント。 アカウントを取得済みでない場合は、https://azure.com/free から無料評価版にサインアップできます。
- サポートされているプラットフォームのいずれかにインストールされた Visual Studio Code。
- Visual Studio Code 用の C# 拡張機能。
- .NET 8 がこの演習のターゲット フレームワークです。
Azure リソースを作成する
ポータル (https://portal.azure.com) にサインインして、Cloud Shell を開き、シェルとして Bash を選択します。
Azure リソースのリソース グループを作成します。
<myLocation>
を最寄りのリージョンに置き換えます。az group create --name az204-redis-rg --location <myLocation>
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
Azure portal で、作成した新しい Redis Cache に移動します。
ナビゲーション ウィンドウの [設定]/[認証] セクションで、[アクセス キー] を選択します。ポータルは開いたままにしてください。 後でアプリで使用するため、プライマリ接続文字列 (StackExchange.Redis) の値をコピーします。
コンソール アプリケーションを作成する
次のコマンドを Visual Studio Code ターミナルで実行してコンソール アプリを作成します。
dotnet new console -o Rediscache
Visual Studio Code で [ファイル] > [フォルダーを開く] を選択し、アプリのフォルダーを選択して、アプリを開きます。
StackExchange.Redis
パッケージをプロジェクトに追加します。dotnet add package StackExchange.Redis
Program.cs ファイルに既存のコードがある場合、それを削除し、先頭に
using
ステートメントを追加します。using StackExchange.Redis;
次の変数を
using
ステートメントの後ろに追加し、<REDIS_CONNECTION_STRING>
をポータルのプライマリ接続文字列 (StackExchange.Redis) に置き換えます。// connection string to your Redis Cache string connectionString = "REDIS_CONNECTION_STRING";
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}"); }
Visual Studio Code ターミナルで、次のコマンドを実行してアプリをビルドして実行します。
dotnet build dotnet run
出力は次の例のようになります。
PING = SimpleString : PONG SET: True GET: 100
ポータルに戻り、[Azure Cache for Redis] ブレードの [アクティビティ ログ] を選択します。 ログで操作を表示できます。
リソースをクリーンアップする
リソースが不要になった場合は、az group delete
コマンドを使用して、リソース グループを削除できます。
az group delete -n az204-redis-rg --no-wait