Was ist Azure Cache for Redis?
Azure Cache for Redis bietet einen auf der Software Redis basierenden In-Memory-Datenspeicher. Redis verbessert die Leistung und Skalierbarkeit einer Anwendung, die intensiven Gebrauch von Back-End-Datenspeichern macht. Mit Redis können große Mengen von 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 kritische Datenspeicherlösung mit geringer Wartezeit und hohem Durchsatz für moderne Anwendungen bereit.
Azure Cache for Redis verfügt sowohl über die Redis-Open-Source-Lösung (OSS Redis) als auch über ein kommerzielles Produkt von Redis Inc. (Redis Enterprise) als verwalteten Dienst. Dadurch erhalten Sie sichere und dedizierte Redis-Serverinstanzen sowie vollständige Redis-API-Kompatibilität. Der Dienst wird von Microsoft betrieben und in Azure gehostet. Er kann von jeder Anwendung innerhalb oder außerhalb von Azure verwendet werden.
Azure Cache for Redis kann unter anderem als Cache für verteilte Daten oder Inhalte, als Sitzungsspeicher oder als Nachrichtenbroker verwendet werden. Die Bereitstellung kann eigenständig erfolgen. Es ist aber auch möglich, den Dienst zusammen mit anderen Azure-Datenbankdiensten wie Azure SQL oder Azure Cosmos DB bereitzustellen.
Wichtige Szenarien
Azure Cache for Redis verbessert die Anwendungsleistung durch die Unterstützung gängiger Anwendungsarchitekturmuster. Nachfolgend sind einige der am häufigsten verwendeten Muster aufgeführt:
Muster | BESCHREIBUNG |
---|---|
Datencache | Datenbanken sind häufig zu groß, um sie direkt in einen Cache zu laden. Das cachefremde Muster wird üblicherweise verwendet, um Daten nur 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. Dadurch benötigen Sie ggf. weniger Server, um die Last zu bewältigen. Zur Unterstützung dieses Musters mit ASP.NET bietet Azure Cache for Redis den Redis-Ausgabecacheanbieter. |
Sitzungsspeicher | Dieses Muster wird häufig bei Einkaufswagen und anderen Benutzerverlaufsdaten verwendet, die von eine Webanwendung möglicherweise mit Benutzercookies verknüpft werden sollen. Die Speicherung von zu vielen Inhalten in einem Cookie kann sich negativ auf die Leistung auswirken, da die Cookiegröße zunimmt und dieser mit jeder Anforderung übergeben und überprüft wird. Bei einer typischen Lösung wird das Cookie als Schlüssel zum Abfragen der Daten in einer Datenbank verwendet. Die Verwendung eines In-Memory-Caches wie Azure Cache for Redis, um einem Benutzer bzw. einer Benutzerin Informationen zuzuordnen, ist schneller als die Interaktion mit einer vollständigen relationalen Datenbank. |
Einreihen von Aufträgen in eine Warteschlange und Message Queuing | 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 Cache for Redis bietet eine verteilte Warteschlange, um dieses Muster in Ihrer Anwendung zu ermöglichen. |
Verteilte Transaktionen | Anwendungen benötigen mitunter eine Reihe von Befehlen für einen Back-End-Datenspeicher, um einen einzelnen atomischen Vorgang auszuführen. Alle Befehle müssen erfolgreich ausgeführt oder jeweils mittels Rollback in den ursprünglichen Zustand zurückversetzt werden. Azure Cache for Redis unterstützt das Ausführen eines Batchs von Befehlen als einzelne Transaktion. |
Redis-Versionen
Azure Cache for Redis unterstützt OSS Redis Version 4.0.x und Version 6.0. Wir haben uns entschieden, Redis 5.0 zu überspringen, um Ihnen die aktuelle Version zu bieten. Zuvor hat Azure Cache for Redis eine einzelne Redis-Version bereitgestellt. In Zukunft können Sie zwischen einem neueren Hauptreleaseupgrade und mindestens eine älteren stabilen Version wählen. Sie können die Version auswählen, die für Ihre Anwendung am besten geeignet ist.
Dienstebenen
Azure Cache for Redis ist in folgenden Tarifen verfügbar:
Tarif | BESCHREIBUNG |
---|---|
Basic | Eine OSS Redis Cache-Instanz, die auf einem einzelnen virtuellen Computer ausgeführt wird. Dieser Tarif verfügt über keine Vereinbarung zum Servicelevel (Service-Level Agreement, SLA) und ist ideal für Entwicklungs-/Testworkloads und nicht kritische Workloads. |
Standard | Eine OSS Redis Cache-Instanz, die auf zwei virtuellen Computern in einer replizierten Konfiguration ausgeführt wird. |
Premium | OSS Redis Cache-Hochleistungsinstanzen. Dieser Tarif bietet höheren Durchsatz, kürzere Wartezeiten, bessere Verfügbarkeit und mehr Features. Premium-Caches werden im Gegensatz zu Basic- und Standard-Caches auf leistungsfähigeren VMs bereitgestellt. |
Enterprise | Hochleistungscaches mit Redis Enterprise-Software von Redis Inc. Dieser Tarif unterstützt Redis-Module (einschließlich RediSearch, RedisBloom, RedisJSON und RedisTimeSeries). Außerdem bietet er eine noch höhere Verfügbarkeit als der Premium-Tarif. |
Enterprise Flash | Kostengünstige große Caches mit Redis Enterprise-Software von Redis Inc. Dieser Tarif erweitert Redis-Datenspeicher auf nicht flüchtigen Speicher auf einem virtuellen Computer. Dieser Speicher ist günstiger als DRAM. Dadurch verringern sich die Gesamtkosten pro GB Arbeitsspeicher. |
Funktionsvergleiche
Unter Azure Cache for Redis – Preise finden Sie einen detaillierten Vergleich der einzelnen Tarife. In der folgenden Tabelle werden einige der unterstützten Features nach Tarif aufgeführt:
Funktionsbeschreibung | Basic | Standard | Premium | Enterprise | Enterprise Flash |
---|---|---|---|---|---|
Vereinbarung zum Servicelevel (SLA) | No | Ja | Ja | Ja | Ja |
Datenverschlüsselung während der Übertragung | Ja | Ja | Ja | Ja | Ja |
Netzwerkisolation | Ja | Ja | Ja | Ja | Ja |
Skalieren | Ja | Ja | Ja | Ja | Ja |
OSS-Clustering | No | Nein | Ja | Ja | Ja |
Datenpersistenz | No | Nein | Ja | Vorschau | Vorschau |
Zonenredundanz | No | Verfügbar | Verfügbar | Verfügbar | Verfügbar |
Georeplikation | No | No | Ja (Passiv) | Ja (Aktiv) | Ja (Aktiv) |
Überwachungsprotokolle für Verbindungen | No | No | Ja (Umfragebasiert) | Ja (Ereignisbasiert) | Ja (Ereignisbasiert) |
Redis-Module | No | Nr. | Nein | Ja | Vorschau |
Import/Export | No | Nein | Ja | Ja | Ja |
Neustart | Ja | Ja | Ja | Nr. | No |
Updatekanal und Planen von Updates | Ja | Ja | Ja | Nr. | Nein |
Hinweis
Die Enterprise Flash-Ebene unterstützt derzeit nur das RediSearch-Modul (in der Vorschau) und das RedisJSON-Modul.
Hinweis
Die Ebenen Enterprise und Enterprise Flash unterstützen derzeit nur das Hochskalieren und das horizontale Skalieren. Das Herunterskalieren und das Abskalieren werden noch nicht unterstützt.
Auswählen der richtigen Ebene
Berücksichtigen Sie bei der Tarifwahl für Azure Cache for Redis Folgendes:
- Arbeitsspeicher: Die Basic- und Standard-Tarife bieten 250 MB – 53 GB, der Premium-Tarif 6 GB – 1,2 TB, der Enterprise-Tarif 1 GB – 2 TB und der Enterprise Flash-Tarif 300 GB – 4,5 TB. Zum Erstellen größerer Cacheinstanzen können Sie die horizontale Skalierung verwenden. Weitere Informationen finden Sie unter Azure Cache for Redis – Preise.
- Leistung: Caches im Premium- oder Enterprise-Tarif werden auf Hardware mit schnelleren Prozessoren bereitgestellt, die im Vergleich zum Basic- oder Standard-Tarif eine bessere Leistung bieten. Die Enterprise-Ebene weist in der Regel die beste Leistung für die meisten Workloads auf, insbesondere bei größeren Cache-Instanzen. Weitere Informationen finden Sie unter Leistungstests.
- Dedizierter Kern für Redis-Server: Mit Ausnahme von „C0“ werden von allen Caches dedizierte vCPUs ausgeführt. Auf den Ebenen Basic, Standard und Premium wird Open-Source-Redis ausgeführt, das standardmäßig nur einen Thread für die Befehlsverarbeitung verwendet. Auf diesen Ebenen verbessert die Verwendung von mehr vCPUs in der Regel den Durchsatz, da Azure Cache for Redis andere vCPUs für die E/A-Verarbeitung oder für Betriebssystemprozesse verwendet. Das Hinzufügen weiterer virtueller CPUs (vCPUs) pro Instanz führt jedoch möglicherweise nicht zu linearen Leistungssteigerungen. Horizontales Hochskalieren erhöht in der Regel die Leistung auf diesen Ebenen mehr als das Hochskalieren. Die Enterprise- und Enterprise Flash-Tarife werden auf der Redis Enterprise-Software ausgeführt, die mehrere vCPUs pro Instanz nutzen kann, wodurch die Leistung im Vergleich zu anderen Tarifen ebenfalls erheblich gesteigert werden kann. Für Enterprise- und Enterprise-Flash-Ebenen empfiehlt sich eher das Hochskalieren als das horizontale Skalieren.
- Netzwerkleistung: Für Workloads, die einen hohen Durchsatz erfordern, steht im Premium- oder Enterprise-Tarif eine höhere Bandbreite zur Verfügung als im Basic- oder Standard-Tarif. Zudem haben die größeren Caches aufgrund des zugrunde liegenden virtuellen Computers, der den Cache hostet, bei jedem Tarif eine höhere Bandbreite. Mit höheren Bandbreitenbegrenzungen können Sie eine Überlastung des Netzwerks vermeiden, die zu Timeouts in Ihrer Anwendung führt. Weitere Informationen finden Sie unter Leistungstests.
- Maximale Anzahl von Clientverbindungen: Der Premium- und der Enterprise-Tarif bieten die maximale Anzahl von Clients, die eine Verbindung mit Redis herstellen können, mit einer größeren Anzahl an Verbindungen für größere Caches. Durch das Clustering wird die Gesamtmenge der Netzwerkbandbreite erhöht, die für einen gruppierten Cache verfügbar ist.
- Hochverfügbarkeit: Azure Cache for Redis verfügt über mehrere Optionen für Hochverfügbarkeit. Dadurch wird garantiert, dass ein Standard-, Premium- oder Enterprise-Cache gemäß unserer SLA verfügbar ist. Die SLA deckt nur die Konnektivität zu den Cacheendpunkten ab. Sie bezieht sich nicht auf den Schutz vor Datenverlusten. Es empfiehlt sich, das Datenpersistenzfeature von Redis im Premium- und Enterprise-Tarif zu verwenden, um den Schutz vor Datenverlusten zu erhöhen.
- Datenpersistenz: Im Premium- und im Enterprise-Tarif können die Cachedaten in einem Azure Storage-Konto bzw. auf einem verwalteten Datenträger gespeichert werden. Probleme mit der zugrunde liegenden Infrastruktur können zu potenziellen Datenverlusten führen. Es empfiehlt sich, das Datenpersistenzfeature von Redis in diesen Tarifen zu verwenden, um den Schutz vor Datenverlusten zu erhöhen. Azure Cache for Redis bietet sowohl RDB- als auch AOF-Optionen (Vorschauversion). Datenpersistenz kann über das Azure-Portal und die CLI aktiviert werden. Informationen zum Premium-Tarif finden Sie unter Konfigurieren von Datenpersistenz für Azure Cache for Redis vom Typ „Premium“.
- Netzwerkisolation: Azure Private Link- und VNet-Bereitstellungen (Virtual Network) bieten eine verbesserte Sicherheit und Datenverkehrsisolation für Azure Cache for Redis. Ein VNet ermöglicht die weitere Einschränkung des Zugriffs über Richtlinien für die Zugriffssteuerung im Netzwerk. Weitere Informationen finden Sie unter Azure Cache for Redis mit Azure Private Link (Public Preview) sowie unter Konfigurieren der Unterstützung virtueller Netzwerke für Azure Cache for Redis vom Typ „Premium“.
- Redis-Module:: In Enterprise-Tarifen werden RediSearch, RedisBloom, RedisTimeSeries und RedisJSON unterstützt. Durch diese Module wird Redis um neue Datentypen und Funktionen erweitert.
Nach der Erstellung können Sie Ihren Cache von der Dienstebene Basic bis auf Premium hochskalieren. Das Herunterskalieren auf einen niedrigeren Tarif wird derzeit nicht unterstützt. Eine ausführliche Skalierungsanleitung finden Sie unter Skalieren einer Azure Cache for Redis-Instanz sowie unter Skalieren – Basic-, Standard- und Premium-Ebenen.
Spezielle Überlegungen zu Enterprise-Tarifen
Die Enterprise-Tarife basieren auf Redis Enterprise, einer kommerziellen Variante von Redis von Redis Inc. Kunden können eine Lizenz für diese Software über ein Azure Marketplace-Angebot beziehen und bezahlen. Azure Cache for Redis verwaltet die Lizenzbeschaffung, sodass Sie diesen Schritt nicht separat durchführen müssen. Für den Erwerb im Azure Marketplace müssen folgende Voraussetzungen erfüllt sein:
- Ihr Azure-Abonnement muss über ein gültiges Zahlungsmittel verfügen. Azure-Gutschriften oder kostenlose MSDN-Abonnements werden nicht unterstützt.
- Ihre Organisation muss Azure Marketplace-Einkäufe zulassen.
- Bei Verwendung eines privaten Marketplace muss er das Redis Inc. Enterprise-Angebot enthalten.
Wichtig
Azure Cache for Redis Enterprise erfordert einen Standardlastenausgleich für das Netzwerk, der gesondert von den Cache-Instanzen selbst abgerechnet wird. Derzeit werden diese Gebühren von Azure Cache for Redis aufgebraucht und nicht an Kunden weitergegeben. Dies kann sich in Zukunft ändern. Weitere Informationen finden Sie unter Load Balancer – Preise.
Wenn ein Enterprise-Cache für mehrere Verfügbarkeitszonen konfiguriert ist, werden Datenübertragungsgebühren von Azure Cache for Redis aufgebraucht und nicht an Kunden übergeben. Dies kann sich in Zukunft ändern, wenn die Datenübertragung zu den Standard-Netzwerkbandbreitentarifen abgerechnet wird.
Außerdem fügt Datenpersistenz Managed Disks hinzu. Die Verwendung dieser Ressourcen ist während der öffentlichen Vorschauphase der Enterprise-Datenpersistenz kostenlos. Dies ändert sich möglicherweise, wenn das Feature allgemein verfügbar wird.
Verfügbarkeit nach Region
Azure Cache for Redis wird fortlaufend auf neue Regionen ausgeweitet. Sie können die Verfügbarkeit nach Region unter Verfügbare Produkte nach Region überprüfen.
Zugehöriger Inhalt
- Schnellstart: Erstellen einer Redis Cache-Open-Source-Instanz
- Schnellstart: Erstellen einer Redis Cache-Instanz im Enterprise-Tarif (Vorschau)
- Schnellstart: Verwenden von Azure Cache for Redis mit einer ASP.NET-Web-App
- Schnellstart: Verwenden von Azure Cache for Redis mit .NET Core
- Schnellstart: Verwenden von Azure Cache for Redis mit .NET Framework
- Schnellstart: Verwenden von Azure Cache for Redis mit Node.js
- Schnellstart: Verwenden von Azure Cache for Redis mit Java
- Schnellstart: Verwenden von Azure Cache for Redis mit Python