Ejercicio: Conexión de una aplicación a Azure Cache for Redis mediante .NET Core
En este ejercicio aprenderá a hacer lo siguiente:
- Crear una instancia de Redis Cache mediante los comandos de la CLI de Azure
- Crear una aplicación de consola de .NET Core para agregar y recuperar valores de la memoria caché mediante el paquete StackExchange.Redis.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Si aún no tiene una, puede solicitar una prueba gratuita en https://azure.com/free.
- Visual Studio Code en una de las plataformas admitidas.
- La extensión de C# para Visual Studio Code.
- .NET 8 es la plataforma de destino de este ejercicio.
Creación de recursos de Azure
Inicie sesión en el portal: https://portal.azure.com, abra Cloud Shell y seleccione Bash como shell.
Cree un grupo de recursos para los recursos de Azure. Reemplace
<myLocation>
por una región cercana.az group create --name az204-redis-rg --location <myLocation>
Cree una instancia de Azure Cache for Redis mediante el comando
az redis create
. El nombre de instancia debe ser único y el siguiente script intentará generar uno automáticamente; reemplace<myLocation>
por la región que usó en el paso anterior. Este comando tarda unos minutos en completarse.redisName=az204redis$RANDOM az redis create --location <myLocation> \ --resource-group az204-redis-rg \ --name $redisName \ --sku Basic --vm-size c0
En Azure Portal, vaya a la nueva instancia de Redis Cache que ha creado.
Seleccione Claves de acceso en la sección Configuración/Autenticación del panel de navegación y deje el portal abierto. Copie el valor de Cadena de conexión principal (StackExchange.Redis) para usarlo más adelante en la aplicación.
Creación de la aplicación de consola
Ejecute el comando siguiente en el terminal de Visual Studio Code para crear una aplicación de consola.
dotnet new console -o Rediscache
Abra la aplicación en Visual Studio Code; para ello, seleccione Archivo > Abrir carpeta y elija la carpeta de la aplicación.
Agregue el paquete
StackExchange.Redis
al proyecto.dotnet add package StackExchange.Redis
Elimine el código que haya en el archivo Program.cs y agregue la siguiente instrucción
using
en la parte superior.using StackExchange.Redis;
Agregue la siguiente variable detrás de la instrucción
using
y reemplace<REDIS_CONNECTION_STRING>
por el valor de Cadena de conexión principal (StackExchange.Redis) del portal.// connection string to your Redis Cache string connectionString = "REDIS_CONNECTION_STRING";
Anexe el código siguiente en el archivo 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}"); }
En el terminal de Visual Studio Code, ejecute los siguientes comandos para compilar y ejecutar la aplicación.
dotnet build dotnet run
La salida debe ser similar a la del siguiente ejemplo:
PING = SimpleString : PONG SET: True GET: 100
Vuelva al portal y seleccione Registro de actividades en la hoja Azure Cache for Redis. Puede ver las operaciones en el registro.
Limpieza de recursos
Cuando los recursos ya no sean necesarios, puede usar el comando az group delete
para quitar el grupo de recursos.
az group delete -n az204-redis-rg --no-wait