Avvio rapido: usare cache di Azure per Redis con un'app Web ASP.NET Core

In questa guida introduttiva si incorporano cache di Azure per Redis in un'applicazione Web ASP.NET Core che si connette a cache di Azure per Redis per archiviare e recuperare dati dalla cache.

Esistono anche provider di memorizzazione nella cache in .NET Core. Per iniziare rapidamente a usare Redis con modifiche minime al codice esistente, vedere:

Passare al codice in GitHub

Clonare il repository https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet-core in GitHub.

Come passaggio successivo, è possibile visualizzare un'applicazione eShop scenario reale che illustra i provider di memorizzazione nella cache di base ASP.NET: ASP.NET core eShop usando i provider di memorizzazione nella cache Redis.

Funzionalità incluse:

  • Memorizzazione nella cache distribuita redis
  • Provider di stato della sessione Redis

Le istruzioni di distribuzione sono disponibili nel README.md.

Prerequisiti

Creare una cache

  1. Per creare una cache, accedere al portale di Azure e selezionare Crea una risorsa.

    L'opzione Crea una risorsa evidenziata nel riquadro di spostamento sinistro.

  2. Nella pagina Nuovo selezionare Database e quindi Cache di Azure per Redis.

    L'opzione Database evidenziata in Nuovo e l'opzione Cache di Azure per Redis evidenziata.

  3. Nella pagina Nuova cache Redis configurare le impostazioni per la nuova cache.

    Impostazione Scegliere un valore Descrizione
    Abbonamento Nell'elenco a discesa selezionare la sottoscrizione. Sottoscrizione in cui creare la nuova istanza della cache di Azure per Redis.
    Gruppo di risorse Nell'elenco a discesa selezionare un gruppo di risorse oppure scegliere Crea nuovo e immettere il nome di un nuovo gruppo di risorse. Nome del gruppo di risorse in cui creare la cache e altre risorse. L'inserimento di tutte le risorse di un'app in un unico gruppo di risorse ne semplifica la gestione o l'eliminazione.
    Nome DNS Immettere un nome univoco. Il nome della cache deve essere una stringa compresa tra 1 e 63 caratteri contenente solo numeri, lettere o trattini. Il nome deve iniziare e terminare con un numero o una lettera e non può contenere trattini consecutivi. Il nome host dell'istanza della cache è <nome DNS>.redis.cache.windows.net.
    Location Nell'elenco a discesa selezionare una località. Selezionare un'area in prossimità di altri servizi che useranno la cache.
    Tipo di cache Nell’elenco a discesa selezionare un livello. Il livello determina le dimensioni, le prestazioni e le funzionalità disponibili per la cache. Per altre informazioni, vedere la panoramica su Cache Redis di Azure.
  4. Selezionare la scheda Rete o selezionare il pulsante Rete nella parte inferiore della pagina.

  5. Nella scheda Rete selezionare il metodo di connettività.

  6. Selezionare la scheda Avanti: Avanzate oppure selezionare il pulsante Avanti: Avanzate nella parte inferiore della pagina per visualizzare la scheda Avanzate.

    Screenshot che mostra la scheda Avanzate nel riquadro di lavoro e l'opzione disponibile da selezionare.

    • Per le cache Basic o Standard, attivare o disattivare la selezione per una porta non TLS. È anche possibile selezionare se si vuole abilitare l'autenticazione di Microsoft Entra.
    • Per una cache Premium, configurare le impostazioni per la porta non TLS, il clustering, l'identità gestita e la persistenza dei dati. È anche possibile selezionare se si vuole abilitare l'autenticazione di Microsoft Entra.
  7. Selezionare la scheda Avanti: Tag oppure selezionare il pulsante Avanti: Tag nella parte inferiore della pagina.

  8. Facoltativamente, nella scheda Tag immettere il nome e il valore se si vuole categorizzare la risorsa.

  9. Selezionare Rivedi e crea. Viene visualizzata la scheda Rivedi e crea in cui Azure convalida la configurazione.

  10. Quando viene visualizzato il messaggio di convalida verde, selezionare Crea.

La creazione di una cache richiede un po' di tempo. È possibile monitorare lo stato di avanzamento nella pagina Panoramica della cache di Azure per Redis. Quando l'elemento Stato indica In esecuzione, la cache è pronta per l'uso.

Recuperare il nome host, le porte e le chiavi di accesso dal portale di Azure

Per connettere il server Cache Redis di Azure, il client della cache deve avere il nome host, le porte e una chiave per la cache. Alcuni client possono fare riferimento a questi elementi usando nomi leggermente diversi. È possibile ottenere il nome host, le porte e le chiavi dal portale di Azure.

  • Per ottenere le chiavi di accesso, selezionare Autenticazione dal menu Risorsa. Selezionare quindi la scheda Chiavi di accesso.

    Chiavi Cache Redis di Azure

  • Per ottenere il nome host e le porte per la cache, selezionare Panoramica dal menu Risorsa. Il formato del nome host è <Nome DNS>.redis.cache.windows.net.

    Domande frequenti su Cache Redis di Azure

Prendere nota del nome host e della chiave di accesso primaria. Questi valori verranno usati in un secondo momento per costruire il segreto Cache Connessione ion.

Aggiungere un segreto locale per la stringa di connessione

Nella finestra di comando eseguire il comando seguente per archiviare un nuovo segreto denominato Cache Connessione ion, dopo aver sostituito i segnaposto, incluse parentesi angolari, per il nome della cache e la chiave di accesso primaria:

dotnet user-secrets set CacheConnection "<cache name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<primary-access-key>"

Connettersi alla cache con RedisConnection

La RedisConnection classe gestisce la connessione alla cache. La connessione viene effettuata in questa istruzione nella HomeController.cscartella Controllers :

_redisConnection = await _redisConnectionFactory;

In RedisConnection.csviene visualizzato che lo StackExchange.Redis spazio dei nomi viene aggiunto al codice. Questa operazione è necessaria per la classe RedisConnection.

using StackExchange.Redis;

Il RedisConnection codice garantisce che sia sempre presente una connessione integra alla cache gestendo l'istanza ConnectionMultiplexer da StackExchange.Redis. La classe RedisConnection ricrea la connessione quando una connessione viene persa e non è possibile riconnettersi automaticamente.

Per altre informazioni, vedere StackExchange.Redis e il codice in un repository GitHub.

Visualizzazioni layout nell'esempio

Il layout della home page per questo esempio viene archiviato nel file _Layout.cshtml . Da questa pagina si avvia il test effettivo della cache facendo clic sul cache di Azure per Redis Test da questa pagina.

  1. Aprire Views\Shared\_Layout.cshtml.

  2. Dovrebbe essere visualizzato in <div class="navbar-header">:

    <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
    

screenshot della pagina iniziale

Visualizzazione dei dati dalla cache

Nella home page selezionare cache di Azure per Redis Test per visualizzare l'output di esempio.

  1. In Esplora soluzioni espandere la cartella Views e fare clic con il pulsante destro del mouse sula cartella Home.

  2. Questo codice dovrebbe essere visualizzato nel file RedisCache.cshtml .

    @{
        ViewBag.Title = "Azure Cache for Redis Test";
    }
    
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    <br /><br />
    <table border="1" cellpadding="10">
        <tr>
            <th>Command</th>
            <th>Result</th>
        </tr>
        <tr>
            <td>@ViewBag.command1</td>
            <td><pre>@ViewBag.command1Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command2</td>
            <td><pre>@ViewBag.command2Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command3</td>
            <td><pre>@ViewBag.command3Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command4</td>
            <td><pre>@ViewBag.command4Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command5</td>
            <td><pre>@ViewBag.command5Result</pre></td>
        </tr>
    </table>
    

Eseguire l'app in locale

  1. Eseguire il comando seguente nella finestra di comando per compilare l'app:

    dotnet build
    
  2. Eseguire quindi l'app con il comando seguente:

    dotnet run
    
  3. Passare a https://localhost:5001 nel Web browser.

  4. Selezionare cache di Azure per Redis Test nella barra di spostamento della pagina Web per testare l'accesso alla cache.

Screenshot del semplice test completato localmente

Pulire le risorse

Per continuare a usare le risorse create in questo articolo, mantenere il gruppo di risorse.

In caso contrario, se le risorse sono state completate, è possibile eliminare il gruppo di risorse di Azure creato per evitare addebiti.

Importante

L'eliminazione di un gruppo di risorse è irreversibile. Quando si elimina un gruppo di risorse, tutte le risorse in esso contenute vengono eliminate in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse sbagliato o le risorse errate. Se sono state create le risorse all'interno di un gruppo di risorse esistente che contiene le risorse da mantenere, è possibile eliminare ogni risorsa singolarmente anziché eliminare il gruppo di risorse.

Per eliminare un gruppo di risorse

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.

  2. Scegliere il gruppo di risorse da eliminare.

    Se sono presenti molti gruppi di risorse, usare la casella Filtro per qualsiasi campo... digitare il nome del gruppo di risorse creato per questo articolo. Selezionare il gruppo di risorse nell'elenco dei risultati.

    Screenshot che mostra un elenco di gruppi di risorse da eliminare nel riquadro di lavoro.

  3. Selezionare Elimina gruppo di risorse.

  4. Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Digitare il nome del gruppo di risorse per confermare e quindi selezionare Elimina.

    Screenshot che mostra un modulo che richiede il nome della risorsa per confermare l'eliminazione.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.