Quickstart: Azure Cache voor Redis met een ASP.NET Core-web-app gebruiken
In deze quickstart neemt u Azure Cache voor Redis op in een ASP.NET Core-webtoepassing die verbinding maakt met Azure Cache voor Redis om gegevens op te slaan en op te halen uit de cache.
Er zijn ook cachingproviders in .NET Core. Als u redis snel wilt gaan gebruiken met minimale wijzigingen in uw bestaande code, raadpleegt u:
- ASP.NET core-cacheprovider voor uitvoer
- ASP.NET kernprovider voor gedistribueerde caching
- ASP.NET core Redis-sessieprovider
Ga naar de code op GitHub
Kloon de https://github.com/Azure-Samples/azure-cache-redis-samples GitHub-opslagplaats en navigeer naar de quickstart/aspnet-core
map om de voltooide broncode weer te geven voor de volgende stappen.
De quickstart/aspnet-core
map is ook geconfigureerd als een Azure Developer CLI-sjabloon (azd
). Gebruik het opensource-hulpprogramma azd
om de inrichting en implementatie van een lokale omgeving naar Azure te stroomlijnen. Voer desgewenst de azd up
opdracht uit om automatisch een Azure Cache voor Redis exemplaar in te richten en om de lokale voorbeeld-app te configureren om er verbinding mee te maken:
azd up
Het eShop-voorbeeld verkennen
Als volgende stap ziet u een praktijkscenario eShop-toepassing waarin de ASP.NET kerncachingproviders worden gedemonstreerd: ASP.NET core eShop met redis-cachingproviders.
Functies zijn inbegrepen:
- Gedistribueerde redis-caching
- Redis-sessiestatusprovider
Implementatie-instructies bevinden zich in de README.md.
Vereisten
- Azure-abonnement: u kunt een gratis abonnement nemen
- .NET Core-SDK
Een cache maken
Als u een cache wilt maken, meldt u zich aan bij de Azure-portal en selecteert u Een resource maken.
Typ op de pagina Aan de slag Azure Cache voor Redis in het zoekvak. Ten slotte selecteert u Maken.
Configureer op de pagina Nieuwe Redis Cache de instellingen voor uw cache.
Instelling Een waarde kiezen Beschrijving Abonnement Open de vervolgkeuzelijst en selecteer uw abonnement. Het abonnement waarmee dit nieuwe Azure Cache voor Redis-exemplaar wordt gemaakt. Resourcegroep Open de vervolgkeuzelijst en selecteer een resourcegroep of kies Nieuwe maken en geef een naam voor de nieuwe resourcegroep op. Naam voor de resourcegroep waarin de cache en andere resources moeten worden gemaakt. Door al uw app-resources in één resourcegroep te plaatsen, kunt u ze eenvoudig beheren of verwijderen. DNS-naam Voer een unieke naam in. De cachenaam moet een tekenreeks tussen 1 en 63 tekens zijn die alleen cijfers, letters of afbreekstreepjes bevatten. De naam moet beginnen en eindigen met een cijfer of letter en mag geen opeenvolgende afbreekstreepjes bevatten. De hostnaam van uw cache-exemplaar is <DNS-naam.redis.cache.windows.net>. Location Open de vervolgkeuzelijst en selecteer een locatie. Selecteer een regio in de buurt van andere services die gebruikmaken van uw cache. Cache-SKU Vervolgkeuzelijst en selecteer een SKU. De SKU bepaalt de grootte, prestaties en onderdelenparameters die beschikbaar zijn voor de cache. Zie het Azure Cache voor Redis-overzicht voor meer informatie. Cachegrootte Vervolgkeuzelijst en selecteer een grootte van uw cache Zie het Azure Cache voor Redis-overzicht voor meer informatie. Selecteer het tabblad Netwerken of selecteer de knop Netwerken onderaan de pagina.
Selecteer uw verbindingsmethode op het tabblad Netwerk.
Selecteer het tabblad Volgende: Geavanceerd of selecteer de knop Volgende: Geavanceerd onder aan de pagina om het tabblad Geavanceerd weer te geven.
Schakel het selectievakje in om Microsoft Entra-verificatie in te schakelen.
Belangrijk
Voor optimale beveiliging raadt Microsoft Aan om Microsoft Entra ID met beheerde identiteiten te gebruiken om aanvragen tegen uw cache waar mogelijk te autoriseren. Autorisatie met Microsoft Entra ID en beheerde identiteiten biedt superieure beveiliging en gebruiksgemak ten opzichte van autorisatie van gedeelde sleutels. Zie Microsoft Entra ID gebruiken voor cacheverificatie voor meer informatie over het gebruik van beheerde identiteiten met uw caches.
Selecteer het tabblad Volgende: Tags of selecteer de knop Volgende: Tags onderaan de pagina.
Voer desgewenst in het tabblad Tags de naam en waarde in om de resource te categoriseren.
Selecteer Controleren + maken. Het tabblad Beoordelen + maken wordt weergegeven, waar uw configuratie wordt gevalideerd in Azure.
Selecteer Maken nadat het groene bericht Validatie geslaagd verschijnt.
Het duurt even voordat een cache is gemaakt. U kunt de voortgang bekijken op de overzichtspagina van Azure Cache voor Redis. Als u bij Status Wordt uitgevoerd ziet staan, kunt u de cache gebruiken.
De hostnaam ophalen uit Azure Portal
De cacheclient heeft de hostnaam en poort nodig voor de cache om verbinding te maken met uw Azure Cache voor Redis-server. Sommige clients kunnen enigszins andere namen gebruiken om naar deze items te verwijzen. U kunt de hostnaam en -poorten ophalen uit Azure Portal.
Selecteer Overzicht in het menu Resource. De hostnaam is van het formulier
<DNS-name>.redis.cache.windows.net
.
Redis-toegangsbeleid toevoegen
U moet een beleid voor gegevenstoegang toewijzen aan de identiteit die toegang heeft tot Azure Cache voor Redis. In dit voorbeeld wijst u een beleid voor gegevenstoegang toe aan hetzelfde Microsoft Entra ID-account dat u gebruikt om u aan te melden bij de Azure CLI of Visual Studio.
Selecteer het menu Instellingenresource in de cache en selecteer de Configuratie van Data Access.
Selecteer op de pagina Configuratie van Gegevenstoegang nieuwe Redis-gebruiker toevoegen > in de bovenste navigatiebalk.
Selecteer op de pagina Nieuwe Redis-gebruiker het beleid Voor inzender voor gegevens en selecteer Volgende: Redis-gebruikers.
Kies + Lid selecteren om het flyoutmenu te openen. Zoek uw gebruikersaccount en selecteer het in de resultaten.
Selecteer Beoordelen en toewijzen om het beleid toe te wijzen aan de geselecteerde gebruiker.
Een lokaal geheim voor de hostnaam toevoegen
Voer in het opdrachtvenster de volgende opdracht uit om een nieuw geheim met de naam RedisHostName op te slaan, nadat u de tijdelijke aanduidingen, inclusief punthaken, hebt vervangen voor uw cachenaam en primaire toegangssleutel:
dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"
Verbinding maken met de cache met RedisConnection
De RedisConnection
klasse beheert de verbinding met uw cache. De verbinding wordt gemaakt in deze instructie in HomeController.cs
de map Controllers :
_redisConnection = await _redisConnectionFactory;
De RedisConnection.cs
klasse bevat de StackExchange.Redis
en Azure.Identity
naamruimten bovenaan het bestand om essentiële typen op te nemen om verbinding te maken met Azure Cache voor Redis.
using StackExchange.Redis;
using Azure.Identity;
De RedisConnection
code zorgt ervoor dat er altijd een goede verbinding met de cache is door het ConnectionMultiplexer
exemplaar vanuit StackExchange.Redis
te beheren. De RedisConnection
klasse maakt de verbinding opnieuw wanneer een verbinding is verbroken en kan niet automatisch opnieuw verbinding maken.
Zie StackExchange.Redis en de code in een GitHub-opslagplaats voor meer informatie.
Indelingsweergaven in het voorbeeld
De startpagina-indeling voor dit voorbeeld wordt opgeslagen in het bestand _Layout.cshtml . Vanaf deze pagina start u de daadwerkelijke cachetests door op de Azure Cache voor Redis Test van deze pagina te klikken.
Open Views\Shared\_Layout.cshtml.
Als het goed is, ziet u het volgende:
<div class="navbar-header">
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
Gegevens uit de cache weergeven
Selecteer op de startpagina Azure Cache voor Redis Test om de voorbeelduitvoer te zien.
Vouw in Solution Explorer de map Views uit en klik met de rechtermuisknop op de map Home.
U ziet deze code in het bestand 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>
De app lokaal uitvoeren
Voer de volgende opdracht in het opdrachtvenster uit om de app te compileren:
dotnet build
Voer daarna de app uit met de volgende opdracht:
dotnet run
Blader naar
https://localhost:5001
in uw webbrowser.Selecteer Azure Cache voor Redis Testen in de navigatiebalk van de webpagina om de toegang tot de cache te testen.
Resources opschonen
Als u de resources wilt blijven gebruiken die u in dit artikel hebt gemaakt, moet u de resourcegroep behouden.
Als u klaar bent met de resources, kunt u de Azure-resourcegroep verwijderen die u hebt gemaakt om kosten te voorkomen.
Belangrijk
Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. Wanneer u een resourcegroep verwijdert, worden alle resources in de groep definitief verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources in een bestaande resourcegroep hebt gemaakt die resources bevat die u wilt behouden, kunt u elke resource afzonderlijk verwijderen in plaats van de resourcegroep te verwijderen.
Een resourcegroep verwijderen
Meld u aan bij Azure Portal en selecteer vervolgens Resourcegroepen.
Selecteer de resourcegroep die u wilt verwijderen.
Als er veel resourcegroepen zijn, gebruikt u het vak Filter voor een veld... en typt u de naam van de resourcegroep die u voor dit artikel hebt gemaakt. Selecteer de resourcegroep in de lijst met resultaten.
Selecteer Resourcegroep verwijderen.
U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Typ ter bevestiging de naam van de resourcegroep. Selecteer vervolgens Verwijderen.
Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.