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:
- ASP.NET Core-utdatacacheprovider
- ASP.NET Distribuerad cachelagringsprovider för Core
- ASP.NET Core Redis-sessionsprovider
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
- En Azure-prenumeration. Skapa en kostnadsfritt
- .NET Core SDK
Skapa en cache
Om du vill skapa en cache loggar du in på Azure Portal. På portalmenyn väljer du Skapa en resurs.
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.
I fönstret Ny Redis Cache på fliken 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. Välj fliken Nätverk eller välj Nästa: Nätverk.
På fliken Nätverk väljer du en anslutningsmetod som ska användas för cacheminnet.
Välj fliken Avancerat eller välj Nästa: Avancerat.
På fliken Avancerat markerar du kryssrutan Microsoft Entra-autentisering för att aktivera Microsoft Entra-autentisering.
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.
(Valfritt) Välj fliken Taggar eller välj Nästa: Taggar.
(Valfritt) På fliken Taggar anger du ett taggnamn och värde om du vill kategorisera cacheresursen.
Välj knappen Granska + skapa.
På fliken Granska + skapa verifierar Azure automatiskt din konfiguration.
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.
- I Azure Portal går du till cacheminnet.
- På tjänstmenyn väljer du Översikt.
- 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
.
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.
I Azure Portal går du till cacheminnet.
På tjänstmenyn går du till Inställningar och väljer Konfiguration av dataåtkomst.
I fönstret Konfiguration av dataåtkomst väljer du Lägg till>ny Redis-användare.
I fönstret Ny Redis-användare väljer du principen Datadeltagare och väljer sedan Nästa: Redis-användare.
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.
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.
Öppna Views\Shared\_Layout.cshtml.
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>
Visa data från cachen
På startsidan väljer du Azure Cache for Redis Test i navigeringsfältet för att se exempelutdata.
Expandera mappen Vyer i Solution Explorer och högerklicka sedan på mappen Start.
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
I ett kommandotolkfönster skapar du appen med hjälp av följande kommando:
dotnet build
Kör appen med hjälp av det här kommandot:
dotnet run
I en webbläsare går du till
https://localhost:5001
.I navigeringsfältet på webbsidan väljer du Azure Cache for Redis Test för att testa cacheåtkomst.
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
Logga in på Azure-portalen och välj Resursgrupper.
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.
Välj Ta bort resursgrupp.
I fönstret Ta bort en resursgrupp anger du namnet på resursgruppen som ska bekräftas och väljer sedan Ta bort.
Inom en liten stund tas resursgruppen och alla dess resurser bort.