Esercizio - Connettere un'app alla cache di Azure per Redis usando .NET Core

Completato

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

Creare risorse Azure

  1. Accedere al portale: https://portal.azure.com, aprire il Cloud Shell e selezionare Bash come shell.

  2. 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>
    
  3. 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
    
  4. Nel portale di Azure, passare alla nuova cache Redis creata.

  5. 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

  1. Creare un'app console eseguendo il comando seguente nel terminale di Visual Studio Code.

    dotnet new console -o Rediscache
    
  2. Aprire l'app in Visual Studio Code selezionando File > Apri cartella e scegliendo la cartella per l'app.

  3. Aggiungere il pacchetto StackExchange.Redis al progetto.

    dotnet add package StackExchange.Redis
    
  4. Eliminare qualsiasi codice esistente nel file Program.cs e aggiungere l'istruzione seguente using nella parte superiore.

    using StackExchange.Redis;
    
  5. Aggiungere la variabile seguente dopo l’istruzioneusing, 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";
    
  6. 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}");
    }
    
  7. 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
    
  8. 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