Esercizio - Connettere un'app alla cache di Azure per Redis usando .NET Core
In questo esercizio si apprenderà come:
- Creare una nuova istanza di Cache Redis usando i comandi dell'interfaccia della riga di comando di Azure.
- Creare un'app console .NET Core per aggiungere e recuperare valori nella cache usando il pacchetto StackExchange.Redis.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Se non è ancora disponibile alcuna sottoscrizione, è possibile registrarsi per una valutazione gratuita all'indirizzo https://azure.com/free.
- Visual Studio Code in una delle piattaforme supportate.
- Estensione C# per Visual Studio Code.
- .NET 8 è il framework di destinazione per questo esercizio.
Creare risorse Azure
Accedere al portale: https://portal.azure.com, aprire il Cloud Shell e selezionare Bash come shell.
Creare un gruppo di risorse per le risorse di Azure. Sostituire
<myLocation>
con un'area vicina.az group create --name az204-redis-rg --location <myLocation>
Creare un'istanza di cache di Azure per Redis tramite il comando
az redis create
. Il nome dell'istanza deve essere univoco e lo script seguente tenterà di generarne uno per l'utente, sostituire<myLocation>
con l'area usata nel passaggio precedente. Il completamento di questo comando richiede alcuni minuti.redisName=az204redis$RANDOM az redis create --location <myLocation> \ --resource-group az204-redis-rg \ --name $redisName \ --sku Basic --vm-size c0
Nel portale di Azure, passare alla nuova cache Redis creata.
Selezionare Chiavi di accesso nella sezione Impostazioni/Autenticazione del riquadro di spostamento e lasciare aperto il portale. Il valore della stringa di connessione primaria (StackExchange.Redis) verrà copiato per essere usato nell'app in un secondo momento.
Creare l'applicazione console
Creare un'app console eseguendo il comando seguente nel terminale di Visual Studio Code.
dotnet new console -o Rediscache
Aprire l'app in Visual Studio Code selezionando File > Apri cartella e scegliendo la cartella per l'app.
Aggiungere il pacchetto
StackExchange.Redis
al progetto.dotnet add package StackExchange.Redis
Eliminare qualsiasi codice esistente nel file Program.cs e aggiungere l'istruzione seguente
using
nella parte superiore.using StackExchange.Redis;
Aggiungere la variabile seguente dopo l’istruzione
using
, sostituire<REDIS_CONNECTION_STRING>
con la stringa di connessione primaria (StackExchange.Redis) dal portale.// connection string to your Redis Cache string connectionString = "REDIS_CONNECTION_STRING";
Nel file Program.cs aggiungere il codice seguente:
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}"); }
Nel terminale di Visual Studio Code eseguire i comandi seguenti per compilare ed eseguire l'app.
dotnet build dotnet run
L'output deve essere simile all'esempio seguente:
PING = SimpleString : PONG SET: True GET: 100
Tornare al portale e selezionare Log attività nel pannello cache di Azure per Redis. È possibile visualizzare le operazioni nel log.
Pulire le risorse
Se le risorse non servono più, è possibile usare il comando az group delete
per rimuovere il gruppo di risorse.
az group delete -n az204-redis-rg --no-wait