Schnellstart: Verwenden von Azure Cache for Redis mit einer ASP.NET Core-Web-App

In dieser Schnellstartanleitung binden Sie Azure Cache for Redis in eine ASP.NET Core-Webanwendung ein, die eine Verbindung mit Azure Cache for Redis herstellt, um Daten aus dem Cache zu speichern und abzurufen.

Es gibt auch Cacheanbieter in .NET Core. Informationen zum schnellen Einstieg mit Redis mit minimalen Änderungen an Ihrem vorhandenen Code finden Sie unter:

Überspringen und mit dem Code auf GitHub fortfahren

Klonen Sie das Repository https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet-core auf GitHub.

Als nächsten Schritt können Sie eine echte eShop-Anwendung sehen, die die ASP.NET Core-Cacheanbieter veranschaulicht: ASP.NET Core eShop mit Redis-Cacheanbietern.

Zu den Funktionen zählen:

  • Verteiltes Redis-Caching
  • Redis-Sitzungsstatusanbieter

Bereitstellungsanweisungen finden Sie in der README.md-Datei.

Voraussetzungen

Erstellen eines Caches

  1. Melden Sie sich zum Erstellen eines Caches beim Azure-Portal an, und wählen Sie Ressource erstellen aus.

    Im linken Navigationsbereich ist „Ressource erstellen“ hervorgehoben.

  2. Wählen Sie auf der Seite Neu die Option Datenbanken und dann Azure Cache for Redis aus.

    Unter „Neu“ sind die Optionen „Datenbanken“ und „Azure Cache for Redis“ hervorgehoben.

  3. Konfigurieren Sie auf der Seite Neuer Redis Cache die Einstellungen für den neuen Cache.

    Einstellung Wert auswählen BESCHREIBUNG
    Abonnement Öffnen Sie die Dropdownliste, und wählen Sie Ihr Abonnement aus. Das Abonnement, unter dem diese neue Azure Cache for Redis-Instanz erstellt wird.
    Ressourcengruppe Öffnen Sie die Dropdownliste, und wählen Sie eine Ressourcengruppe aus, oder wählen Sie Neu erstellen aus, und geben Sie einen Namen für eine neue Ressourcengruppe ein. Der Name der Ressourcengruppe, in der Ihr Cache und weitere Ressourcen erstellt werden. Wenn Sie alle Ihre App-Ressourcen in einer Ressourcengruppe zusammenfassen, können Sie sie einfacher gemeinsam verwalten oder löschen.
    DNS-Name Geben Sie einen eindeutigen Namen ein. Der Cachename muss zwischen 1 und 63 Zeichen lang sein und darf nur Ziffern, Buchstaben und Bindestriche enthalten. Der Name muss mit einer Zahl oder einem Buchstaben beginnen und enden und darf keine aufeinanderfolgenden Bindestriche enthalten. Der Hostname Ihrer Cache-Instanz lautet <DNS-Name>.redis.cache.windows.net.
    Location Öffnen Sie die Dropdownliste, und wählen Sie einen Standort aus. Wählen Sie eine Region in der Nähe anderer Dienste aus, die Ihren Cache verwenden.
    Cachetyp Öffnen Sie die Dropdownliste, und wählen Sie einen Tarif aus. Der Tarif bestimmt Größe, Leistung und verfügbare Features für den Cache. Weitere Informationen finden Sie unter What is Azure Cache for Redis (Was ist Azure Cache for Redis?).
  4. Wählen Sie die Registerkarte Netzwerk oder unten auf der Seite die Schaltfläche Netzwerk aus.

  5. Wählen Sie auf der Registerkarte Netzwerk Ihre Konnektivitätsmethode aus.

  6. Wählen Sie die Registerkarte Weiter: Erweitert oder unten auf der Seite die Schaltfläche Weiter: Erweitert aus, um die Registerkarte Erweitert anzuzeigen.

    Screenshot der Registerkarte „Erweitert“ im Arbeitsbereich und der verfügbaren Auswahloptionen.

    • Schalten Sie für Basic- oder Standard-Caches die Auswahl auf einen Nicht-TLS-Port um. Sie können auch auswählen, ob Sie die Microsoft Entra-Authentifizierung aktivieren möchten.
    • Konfigurieren Sie für ein Premium-Cache die Einstellungen für einen Nicht-TLS-Port, das Clustering, die verwaltete Identität und die Datenpersistenz. Sie können auch auswählen, ob Sie die Microsoft Entra-Authentifizierung aktivieren möchten.
  7. Wählen Sie die Registerkarte Weiter: Tags oder unten auf der Seite die Schaltfläche Weiter: Tags aus.

  8. Geben Sie optional auf der Registerkarte Tags den Namen und den Wert ein, wenn Sie die Ressource kategorisieren möchten.

  9. Klicken Sie auf Überprüfen + erstellen. Sie werden zur Registerkarte Überprüfen und erstellen weitergeleitet, auf der Azure Ihre Konfiguration überprüft.

  10. Wenn die grüne Meldung „Validierung erfolgreich“ angezeigt wird, wählen Sie Erstellen aus.

Es dauert eine Weile, bis der Cache erstellt worden ist. Sie können den Fortschritt auf der Seite Übersicht von Azure Cache for Redis überwachen. Wenn Wird ausgeführt als Status angezeigt wird, ist der Cache einsatzbereit.

Abrufen von Hostname, Ports und Zugriffsschlüsseln vom Azure-Portal

Um ihren Azure Cache for Redis-Server zu verbinden, benötigt der Cacheclient den Hostnamen, die Ports und einen Schlüssel für den Cache. Von einigen Clients wird unter Umständen mit etwas anderen Namen auf diese Elemente verwiesen. Sie können den Hostnamen, Ports und Zugriffsschlüssel vom Azure-Portal abrufen.

  • Wählen Sie zum Abrufen der Zugriffsschlüssel im Ressourcenmenü die Option Authentifizierung aus. Wählen Sie dann die Registerkarte Zugriffsschlüssel aus.

    Azure Cache for Redis-Schlüssel

  • Um den Hostnamen und die Ports für den Cache abzurufen, wählen Sie im Ressourcenmenü die Option Übersicht aus. Der Hostname hat das Format <DNS-Name>.redis.cache.windows.net.

    Azure Cache for Redis-Eigenschaften

Notieren Sie sich den HOSTNAMEN und den primären Zugriffsschlüssel. Sie verwenden diese Werte später, um das CacheConnection-Geheimnis zu erstellen.

Hinzufügen eines lokalen Geheimnisses für die Verbindungszeichenfolge

Führen Sie im Befehlsfenster den folgenden Befehl aus, um ein neues Geheimnis mit dem Namen CacheConnection zu speichern, nachdem Sie die Platzhalter (einschließlich der Winkelklammern) durch Ihren Cachenamen und den Primärschlüssel ersetzt haben:

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

Verbinden mit dem Cache mittels RedisConnection

Die RedisConnection-Klasse verwaltet die Verbindung mit Ihrem Cache. Die Verbindung wird in dieser Anweisung in HomeController.cs im Ordner Controllers hergestellt:

_redisConnection = await _redisConnectionFactory;

Sie sehen in RedisConnection.cs, dass der Namespace StackExchange.Redis dem Code hinzugefügt wird. Dies ist für die RedisConnection-Klasse erforderlich.

using StackExchange.Redis;

Der RedisConnection-Code stellt sicher, dass immer eine fehlerfreie Verbindung mit dem Cache besteht, indem die ConnectionMultiplexer-Instanz von StackExchange.Redis verwaltet wird. Die RedisConnection-Klasse erstellt die Verbindung neu, wenn eine Verbindung verloren geht und diese nicht automatisch wieder hergestellt werden kann.

Weitere Informationen finden Sie unter StackExchange.Redis sowie den Code in einem GitHub-Repository.

Layoutansichten im Beispiel

Das Homepagelayout für dieses Beispiel ist in der Datei _Layout.cshtml gespeichert. Auf dieser Seite beginnen Sie mit dem tatsächlichen Cachetest, indem Sie auf der Seite auf Azure Cache for Redis Test (Azure Cache for Redis-Test) klicken.

  1. Öffnen Sie Views\Shared\_Layout.cshtml.

  2. In <div class="navbar-header"> sollte Folgendes zu sehen sein:

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

Screenshot der Begrüßungsseite

Anzeigen von Daten aus dem Cache

Wählen Sie auf der Startseite Azure Cache for Redis Test (Azure Cache for Redis-Test) aus, um die Beispielausgabe anzuzeigen.

  1. Erweitern Sie im Projektmappen-Explorer den Ordner Ansichten, und klicken Sie dann mit der rechten Maustaste auf den Ordner Home.

  2. Dieser Code sollte in der Datei RedisCache.cshtml angezeigt werden.

    @{
        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>
    

Lokales Ausführen der App

  1. Führen Sie in Ihrem Befehlsfenster den folgenden Befehl aus, um die App zu erstellen:

    dotnet build
    
  2. Führen Sie die App anschließend mit dem folgenden Befehl aus:

    dotnet run
    
  3. Navigieren Sie in Ihrem Webbrowser zu https://localhost:5001.

  4. Wählen Sie auf der Navigationsleiste der Webseite Azure Cache for Redis Test (Azure Cache for Redis-Test) aus, um den Cachezugriff zu testen.

Screenshot eines einfachen abgeschlossenen lokalen Tests

Bereinigen von Ressourcen

Wenn Sie die in diesem Artikel erstellten Ressourcen weiterhin verwenden möchten, behalten Sie die Ressourcengruppe bei.

Wenn Sie die Ressourcen nicht mehr benötigen, können Sie die erstellte Azure-Ressourcengruppe ansonsten löschen, um Kosten zu vermeiden.

Wichtig

Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Beim Löschen einer Ressourcengruppe werden alle darin enthaltenen Ressourcen unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen in einer vorhandenen Ressourcengruppe erstellt haben, die Ressourcen enthält, die Sie behalten wollen, können Sie jede Ressource einzeln löschen, statt die Ressourcengruppe zu löschen.

So löschen Sie eine Ressourcengruppe

  1. Melden Sie sich beim Azure-Portal an, und wählen Sie anschließend Ressourcengruppen aus.

  2. Wählen Sie die Ressourcengruppe aus, die Sie löschen möchten.

    Wenn viele Ressourcengruppen vorhanden sind, verwenden Sie das Feld Nach einem beliebigen Feld filtern..., und geben Sie den Namen Ihrer Ressourcengruppe ein, die Sie für diesen Artikel erstellt haben. Wählen Sie die Ressourcengruppe in der Ergebnisliste aus.

    Screenshot: Liste mit zu löschenden Ressourcengruppen im Arbeitsbereich

  3. Wählen Sie die Option Ressourcengruppe löschen.

  4. Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie den Namen Ihrer Ressourcengruppe ein, und wählen Sie Löschen aus.

    Screenshot: Formular, in das der Ressourcenname eingegeben werden muss, um den Löschvorgang zu bestätigen

Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.