Snabbstart: Använda Azure Cache for Redis med en ASP.NET Core-webbapp

I den här snabbstarten införlivar du Azure Cache for Redis i ett ASP.NET Core-webbprogram som ansluter till Azure Cache for Redis för att lagra och hämta data från cacheminnet.

Du kan använda en cachelagringsprovider i din ASP.NET Core-webbapp. Information om hur du snabbt börjar använda Redis med minimala ändringar i din befintliga kod finns i:

Hoppa till koden

Den här artikeln beskriver hur du ändrar koden för en exempelapp för att skapa en fungerande app som ansluter till Azure Cache for Redis.

Om du vill gå direkt till koden läser du snabbstartsexemplet ASP.NET Core på GitHub.

Du kan klona GitHub-lagringsplatsen för Azure Cache for Redis-exempel och sedan gå till katalogen quickstart/aspnet-core för att visa den färdiga källkoden för de steg som beskrivs i den här artikeln.

Katalogen quickstart/aspnet-core konfigureras också som en Azure Developer CLI-mall . Använd azd-verktyget med öppen källkod för att effektivisera etablering och distribution från en lokal miljö till Azure. Du kan också köra azd up kommandot för att automatiskt etablera en Azure Cache for Redis-instans och konfigurera den lokala exempelappen så att den ansluter till den:

azd up

Utforska eShop-exemplet

Som ett nästa steg kan du se ett verkligt scenario med eShop-program som visar ASP.NET Core-cachelagringsleverantörer: ASP.NET Core eShop med hjälp av Redis cachelagringsproviders.

Funktionerna omfattar:

  • Redis-distribuerad cachelagring
  • Redis-sessionstillståndsprovider

Distributionsinstruktioner finns i README.md-filen i ASP.NET Core-snabbstartsexemplet på GitHub.

Förutsättningar

Skapa en cache

  1. Om du vill skapa en cache loggar du in på Azure Portal. På portalmenyn väljer du Skapa en resurs.

    Sceenshot som visar alternativet Skapa en resurs markerad i det vänstra navigeringsfönstret i Azure Portal.

  2. I fönstret Kom igång anger du Azure Cache for Redis i sökfältet. I sökresultaten letar du upp Azure Cache for Redis och väljer sedan Skapa.

    Skärmbild som visar Azure Marketplace med Azure Cache for Redis i sökrutan och knappen Skapa är markerad.

  3. I fönstret Ny Redis Cachefliken Grundläggande konfigurerar du följande inställningar för din cache:

    Inställning Åtgärd beskrivning
    Abonnemang Välj din Azure-prenumerationen. Prenumerationen som ska användas för att skapa den nya instansen av Azure Cache for Redis.
    Resursgrupp Välj en resursgrupp eller välj Skapa ny och ange ett nytt resursgruppsnamn. Ett namn på resursgruppen där du kan skapa cacheminnet och andra resurser. Genom att placera alla dina appresurser i en resursgrupp kan du enkelt hantera eller ta bort dem tillsammans.
    DNS-namn Ange ett unikt namn. Cachenamnet måste vara en sträng på 1 till 63 tecken som endast innehåller siffror, bokstäver och bindestreck. Namnet måste börja och sluta med ett tal eller en bokstav, och det får inte innehålla bindestreck i följd. Värdnamnet för cacheinstansen är \<DNS name>.redis.cache.windows.net.
    Plats Välj en plats. En Azure-region som ligger nära andra tjänster som använder din cache.
    Cache-SKU Välj en SKU. SKU:n avgör vilka storleks-, prestanda- och funktionsparametrar som är tillgängliga för cachen. Mer information finns i Översikt över Azure Cache for Redis.
    Cachestorlek Välj en cachestorlek. Mer information finns i Översikt över Azure Cache for Redis.
  4. Välj fliken Nätverk eller välj Nästa: Nätverk.

  5. På fliken Nätverk väljer du en anslutningsmetod som ska användas för cacheminnet.

  6. Välj fliken Avancerat eller välj Nästa: Avancerat.

  7. På fliken Avancerat markerar du kryssrutan Microsoft Entra-autentisering för att aktivera Microsoft Entra-autentisering.

    Skärmbild som visar fönstret Avancerat och det tillgängliga alternativet att välja.

    Viktigt!

    För optimal säkerhet rekommenderar vi att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden mot din cache om möjligt. Auktorisering med hjälp av Microsoft Entra-ID och hanterade identiteter ger överlägsen säkerhet och användarvänlighet för auktorisering av delad åtkomstnyckel. Mer information om hur du använder hanterade identiteter med din cache finns i Använda Microsoft Entra-ID för cacheautentisering.

  8. (Valfritt) Välj fliken Taggar eller välj Nästa: Taggar.

  9. (Valfritt) På fliken Taggar anger du ett taggnamn och värde om du vill kategorisera cacheresursen.

  10. Välj knappen Granska + skapa.

    På fliken Granska + skapa verifierar Azure automatiskt din konfiguration.

  11. När det gröna verifieringsmeddelandet har skickats väljer du Skapa.

En ny cachedistribution sker under flera minuter. Du kan övervaka förloppet för distributionen i översiktsfönstret Azure Cache for Redis. När Status visar Körs är cachen redo att användas.

Hämta värdnamnet

För att ansluta till Azure Cache for Redis-servern behöver cacheklienten cachens värdnamn och annan information. Vissa klienter kan referera till objekten med lite olika namn. Du kan hämta värdnamnet i Azure Portal.

  1. I Azure Portal går du till cacheminnet.
  2. På tjänstmenyn väljer du Översikt.
  3. Under Essentials, för Värdnamn, väljer du ikonen Kopiera för att kopiera värdnamnets värde. Värdnamnets värde har formuläret <DNS name>.redis.cache.windows.net.

Skärmbild som visar Azure Cache for Redis-egenskaper med värdnamnet markerat.

Lägga till en ny Redis-användaråtkomstprincip

Identiteten som har åtkomst till Azure Cache for Redis måste tilldelas en dataåtkomstprincip. I det här exemplet tilldelar du en dataåtkomstprincip till samma Microsoft Entra-ID-konto som du använder för att logga in på Azure CLI eller Visual Studio.

  1. I Azure Portal går du till cacheminnet.

  2. På tjänstmenyn går du till Inställningar och väljer Konfiguration av dataåtkomst.

  3. I fönstret Konfiguration av dataåtkomst väljer du Lägg till>ny Redis-användare.

    Skärmbild som visar konfigurationsfönstret för dataåtkomst med Ny Redis-användare markerad.

  4. I fönstret Ny Redis-användare väljer du principen Datadeltagare och väljer sedan Nästa: Redis-användare.

  5. Välj Välj medlem för att öppna den utfällbara menyn. Sök efter ditt användarkonto och välj det i resultatet.

    Skärmbild som visar fliken Redis-användare i fönstret Ny Redis-användare med Välj medlem markerat.

  6. Välj Granska + tilldela för att tilldela principen till den valda användaren.

Lägg till en lokal hemlighet för värdnamnet

I kommandofönstret kör du följande kommando för att lagra en ny hemlighet med namnet RedisHostName. I koden ersätter du platshållarna, inklusive vinkelparenteser, med cachenamnet och den primära åtkomstnyckeln:

dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"

Ansluta till cachen med hjälp av RedisConnection

Klassen RedisConnection hanterar anslutningen till cacheminnet. Anslutningen görs i den här instruktionen i HomeController.cs i mappen Controllers :

_redisConnection = await _redisConnectionFactory;

Filen RedisConnection.cs innehåller namnrymderna StackExchange.Redis och Azure.Identity överst i filen för att inkludera viktiga typer för att ansluta till Azure Cache for Redis:

using StackExchange.Redis;
using Azure.Identity;

Klasskoden RedisConnection ser till att det alltid finns en felfri anslutning till cacheminnet. Anslutningen hanteras av instansen ConnectionMultiplexer från StackExchange.Redis. Klassen RedisConnection återskapar anslutningen när en anslutning går förlorad och kan inte återansluta automatiskt.

Mer information finns i StackExchange.Redis och koden i GitHub-lagringsplatsen StackExchange.Redis.

Verifiera layoutvyer i exemplet

Startsideslayouten för det här exemplet lagras i filen _Layout.cshtml . I nästa avsnitt testar du cachen med hjälp av den kontrollant som du lägger till här.

  1. Öppna Views\Shared\_Layout.cshtml.

  2. Kontrollera att följande rad finns i <div class="navbar-header">:

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

Skärmbild som visar en välkomstsida på en webbsida.

Visa data från cachen

På startsidan väljer du Azure Cache for Redis Test i navigeringsfältet för att se exempelutdata.

  1. Expandera mappen Vyer i Solution Explorer och högerklicka sedan på mappen Start.

  2. Kontrollera att följande kod finns i filen 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>
    

Köra appen lokalt

  1. I ett kommandotolkfönster skapar du appen med hjälp av följande kommando:

    dotnet build
    
  2. Kör appen med hjälp av det här kommandot:

    dotnet run
    
  3. I en webbläsare går du till https://localhost:5001.

  4. I navigeringsfältet på webbsidan väljer du Azure Cache for Redis Test för att testa cacheåtkomst.

Skärmbild som visar ett enkelt test som slutförts lokalt.

Rensa resurser

Om du vill fortsätta att använda de resurser som du skapade i den här artikeln behåller du resursgruppen.

Annars kan du ta bort den Azure-resursgrupp som du skapade om du är klar med resurserna för att undvika kostnader som är relaterade till resurserna.

Varning

Att ta bort en resursgrupp kan inte ångras. När du tar bort en resursgrupp tas alla resurser i resursgruppen bort permanent. Kontrollera att du inte av misstag tar bort fel resursgrupp eller resurser. Om du har skapat resurserna i en befintlig resursgrupp som har resurser som du vill behålla kan du ta bort varje resurs individuellt i stället för att ta bort resursgruppen.

Ta bort en resursgrupp

  1. Logga in på Azure-portalen och välj Resursgrupper.

  2. Välj den resursgrupp som ska tas bort.

    Om det finns många resursgrupper anger du namnet på den resursgrupp som du skapade för att slutföra den här artikeln i Filtrera efter valfritt fält. I listan med sökresultat väljer du resursgruppen.

    Skärmbild som visar en lista över resursgrupper att välja mellan för att ta bort.

  3. Välj Ta bort resursgrupp.

  4. I fönstret Ta bort en resursgrupp anger du namnet på resursgruppen som ska bekräftas och väljer sedan Ta bort.

    Skärmbild som visar en ruta som kräver att resursnamnet anges för att bekräfta borttagningen.

Inom en liten stund tas resursgruppen och alla dess resurser bort.