Entwerfen einer Cachelösung
Zwischenspeichern ist eine gängige Methode zur Verbesserung der Leistung und Skalierbarkeit eines Systems. Beim Zwischenspeichern werden häufig verwendete Daten in einen schnellen Speicher, der sich nahe der Anwendung befindet, kopiert. Wenn sich dieser schnelle Datenspeicher näher an der Anwendung befindet als die ursprüngliche Datenquelle, kann das Zwischenspeichern die Antwortzeiten für Clientanwendungen durch die schnellere Bereitstellung der Daten erheblich verbessern.
Das Zwischenspeichern ist am effektivsten, wenn eine Instanz des Clients wiederholt die gleichen Daten liest, insbesondere dann, wenn die folgenden Kriterien für den ursprünglichen Datenspeicher gelten:
- Der ursprüngliche Datenspeicher bleibt relativ statisch.
- Er unterliegt in hohem Maße Konflikten.
- Er ist weit entfernt, und die Netzwerklatenz kann zu einem langsamen Zugriff auf den Speicher führen.
Angenommen, Tailwind Traders fügt der Produktdemoanwendung eine neue Funktion hinzu, um den Kundenverkehr auf ihrer Einzelhandelswebsite zu erhöhen. Die Ereignisfunktion fügt ein Banner am oberen Rand der mobilen App hinzu, um Sonderangebote und begrenzte Produktrabatte anzukündigen. Neue Angebote werden zur vollen Stunde veröffentlicht, und die verbleibende Produktverfügbarkeit für jedes Angebot wird nach der Bearbeitung jeder Bestellung aktualisiert. Der erste Kunde, der auf ein neues Angebot antwortet, erhält einen doppelten Rabatt! Kunden wird empfohlen, ihre mobile App häufig auf Updates für die Angebote und die Produktverfügbarkeit zu überprüfen. Zum Implementieren dieser neuen Funktion müssen Sie eine Zwischenspeicherungslösung entwerfen, die schnelle Lese- und Schreibvorgänge im Arbeitsspeicher unterstützen kann.
Wichtige Informationen zu Azure Managed Redis
Azure Managed Redis stellt einen speicherinternen Datenspeicher basierend auf dem Redis Enterprise-Stapel bereit. Redis verbessert die Leistung und Skalierbarkeit einer Anwendung, die Back-End-Datenspeicher stark nutzt. Mit Redis können große Mengen an Anwendungsanforderungen verarbeitet werden, indem häufig verwendete Daten im Arbeitsspeicher des Servers behalten werden, um schnelle Schreib- und Lesevorgänge zu ermöglichen. Redis stellt eine wichtige Datenspeicherlösung mit geringer Latenz und hohem Durchsatz für moderne Anwendungen bereit.
Von Bedeutung
Azure Cache für Redis wird eingestellt. Neue Instanzen werden ab dem 1. April 2026 für neue Kunden blockiert, und der Dienst wird am 1. Oktober 2028 vollständig eingestellt. Azure Managed Redis ist der aktuelle empfohlene Cachedienst.
Sehen wir uns die Merkmale von Azure Managed Redis an:
Azure Managed Redis ist ein vollständig verwalteter Dienst, der im Redis Enterprise-Stapel (GA seit Mai 2025) ausgeführt wird.
Azure Managed Redis bietet vier Dienstebenen:
- Speicher optimiert: Hohes Speicher-zu-vCPU-Verhältnis für speicherintensive Workloads
- Ausgeglichen: Standardkonfiguration für allgemeine Workloads
- Compute Optimiert: Hohes vCPU-zu-Speicher-Verhältnis für maximalen Durchsatz
- Flash optimiert: Kostengünstige Lösung für große Datasets mit NVMe-Flashspeicher
Azure Managed Redis bietet sichere und dedizierte Redis-Serverinstanzen und vollständige Redis-API-Kompatibilität.
Sie können Azure Managed Redis als verteilten Daten- oder Inhaltscache, Sitzungsspeicher oder Nachrichtenbroker verwenden.
Stellen Sie Azure Managed Redis als eigenständig oder mit anderen Azure-Datenbankdiensten bereit, z. B. Azure SQL oder Azure Cosmos DB.
Funktionsweise von Azure Managed Redis
Azure Managed Redis wird in Azure gehostet und kann von jeder Anwendung innerhalb oder außerhalb von Azure verwendet werden. Wie in der folgenden Grafik angegeben, kann Azure Managed Redis die Leistung in Apps verbessern, die mit vielen Datenbanklösungen, einschließlich Azure SQL-Datenbank, Azure Cosmos DB und Azure Database für MySQL, verbunden sind.
Überlegungen bei der Verwendung von Azure Managed Redis
Azure Managed Redis verbessert die Anwendungsleistung durch die Unterstützung gängiger Anwendungsarchitekturmuster. Wenn Sie sich die folgenden Muster überprüfen, denken Sie an Muster, die in der Anwendungsarchitektur von Tailwind Traders vorkommen könnten. Überlegen Sie, wie Azure Managed Redis die Musteranforderungen bereitstellen kann.
| Muster | Szenario | Projektmappe |
|---|---|---|
| Datencache | Datenbanken sind häufig zu groß, um direkt in einen Cache geladen zu werden. | Das cachefremde Muster wird üblicherweise verwendet, um nur Daten bei Bedarf in den Cache zu laden. Wenn das System Änderungen an den Daten vornimmt, kann es auch den Cache aktualisieren, der dann an andere Clients verteilt wird. Darüber hinaus kann das System ein Ablaufdatum für Daten festlegen oder eine Entfernungsrichtlinie verwenden, um Datenaktualisierungen im Cache auszulösen. |
| Inhaltscache | Viele Webseiten werden auf der Grundlage von Vorlagen mit statischen Inhalten wie Kopfzeilen, Fußzeilen und Bannern generiert. Diese statischen Elemente ändern sich in der Regel nur selten.. | Im Vergleich zu Back-End-Datenspeichern ermöglicht ein In-Memory-Cache einen schnelleren Zugriff auf statische Inhalte. Dieses Muster trägt zur Verringerung der Verarbeitungszeit und der Serverauslastung sowie zur Erhöhung der Reaktionsfähigkeit von Webservern bei. Mit einem Cache für Inhalte können Sie die Anzahl der Server reduzieren, die zur Bewältigung der Lasten erforderlich sind. Azure Managed Redis stellt den Redis-Ausgabecacheanbieter bereit, um dieses Muster mit ASP.NET zu unterstützen. |
| Sitzungsspeicher | Ein Sitzungsspeicher wird häufig für Warenkörbe und andere Benutzerverlaufsdaten verwendet, die eine Webanwendung mit Benutzercookies verknüpfen könnte. Die Speicherung zu vieler Inhalte in einem Cookie kann sich negativ auf die Leistung auswirken, weil die Cookiegröße zunimmt und mit jeder Anforderung übergeben und überprüft wird.. | Häufig wird das Cookie als Schlüssel zum Abfragen der Daten in einer Datenbank verwendet. Es ist schneller, einen Speichercache wie Azure Managed Redis zu verwenden, um Informationen einem Benutzer zuzuordnen, als mit einer vollständigen relationalen Datenbank zu interagieren. |
| Einreihen von Aufträgen und Meldungen in eine Warteschlange | Einige Anwendungsvorgänge nehmen viel Zeit in Anspruch, was möglicherweise den Start anderer nicht verwandter Aufträge oder Nachrichten verhindert. | Anwendungen fügen Aufgaben häufig einer Warteschlange hinzu, wenn die Ausführung der mit der Anforderung verbundenen Vorgänge länger dauert. Zeitintensive Vorgänge werden einer Warteschlange hinzugefügt und der Reihe nach verarbeitet – nicht selten von einem anderen Server. Diese Methode der Verzögerung von Tasks wird als Task Queuing bezeichnet. Azure Managed Redis bietet eine verteilte Warteschlange, um dieses Muster in Ihrer Anwendung zu ermöglichen. |
| Verteilte Transaktionen | Anwendungen benötigen mitunter, dass eine Reihe von Befehlen für einen Backend-Datenspeicher als ein einziger atomarer Vorgang ausgeführt wird. Alle Befehle müssen erfolgreich ausgeführt oder mittels Rollback in den ursprünglichen Zustand zurückversetzt werden.. | Azure Managed Redis unterstützt die Ausführung eines Batches von Befehlen als einzelne Transaktion. |