Ejercicio: Conexión de una aplicación a Azure Cache for Redis mediante .NET Core

Completado

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

Creación de recursos de Azure

  1. Inicie sesión en el portal: https://portal.azure.com, abra Cloud Shell y seleccione Bash como shell.

  2. 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>
    
  3. Cree una instancia de Azure Cache for Redis mediante el comando az redis create. El nombre de la instancia debe ser único y el script siguiente 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
    
  4. En Azure Portal, vaya a la nueva instancia de Redis Cache que ha creado.

  5. Seleccione Claves de acceso en la sección Configuració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

  1. Ejecute el comando siguiente en el terminal de Visual Studio Code para crear una aplicación de consola.

    dotnet new console -o Rediscache
    
  2. Abra la aplicación en Visual Studio Code; para ello, seleccione Archivo > Abrir carpeta y elija la carpeta de la aplicación.

  3. Agregue el paquete StackExchange.Redis al proyecto.

    dotnet add package StackExchange.Redis
    
  4. 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;
    
  5. 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";
    
  6. 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.Type} : {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. En el terminal de Visual Studio Code, ejecute los comandos siguientes para compilar la aplicación a fin de comprobar si hay errores y, a continuación, ejecute la aplicación con los comandos siguientes:

    dotnet build
    dotnet run
    

    La salida debe ser similar a la siguiente:

    PING = SimpleString : PONG
    SET: True
    GET: 100
    
  8. 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