Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Engine-Versionen
Dieser Abschnitt behandelt die unterstützten Valkey- und OSS Redis-Engine-Versionen.
Themen
MemoryDB Version 7.2.6
Am 8. Oktober 2024 wurde Valkey 7.2.6 veröffentlicht. Valkey 7.2.6 weist ähnliche Kompatibilitätsunterschiede zu früheren Versionen von Redis 7.2.5 auf. OSS Hier sind die Hauptunterschiede zwischen Valkey und Redis 7.0 und 7.1: OSS
Neue WITHSCORE Optionen für ZRANK und Befehle ZREVRANK
CLIENTNEIN — TOUCH damit Clients Befehle ausführen können, ohneLRU/LFUvon Schlüsseln zu beeinflussen.
Neuer Befehl CLUSTERMYSHARDID, der die Shard-ID des Knotens zurückgibt, um Knoten im Clustermodus auf der Grundlage der Replikation logisch zu gruppieren.
Leistungs- und Speicheroptimierungen für verschiedene Datentypen.
Hier sind die potenziell schwerwiegenden Verhaltensänderungen zwischen Valkey 7.2 und Redis OSS 7.1 (oder 7.0):
Wenn Sie PUBLISH mit einem RESP3 Kunden anrufen, der auch denselben Kanal abonniert hat, wird die Reihenfolge geändert und die Antwort wird vor der veröffentlichten Nachricht gesendet.
Das clientseitige Tracking für Skripte verfolgt jetzt die Schlüssel, die vom Skript gelesen werden, und nicht die Schlüssel, die vom Aufrufer vonEVAL/deklariert wurden. FCALL
Das Freeze Time-Sampling erfolgt während der Befehlsausführung und in Skripten.
Wenn ein blockierter Befehl entsperrt wird, werden Prüfungen wie ACLOOM, und andere erneut ausgewertet.
ACLDer Text der Fehlermeldung und die Fehlercodes sind vereinheitlicht.
Ein blockierter Stream-Befehl, der freigegeben wird, wenn der Schlüssel nicht mehr existiert, enthält einen anderen Fehlercode (- NOGROUP oder - WRONGTYPE statt -UNBLOCKED).
Die Befehlsstatistiken für blockierte Befehle werden nur aktualisiert, wenn der Befehl tatsächlich ausgeführt wird.
Durch den internen Speicher von ACL Benutzern werden redundante Befehls- und Kategorienregeln nicht mehr entfernt. Dadurch kann sich die Art und Weise ändern, wie diese Regeln als Teil von ACLSAVE, ACL GETUSER und angezeigt werden ACLLIST.
Verwenden SNI Sie nach Möglichkeit alle Client-Verbindungen, die für die TLS basierte Replikation erstellt wurden.
XINFOSTREAM: Das Antwortfeld „Sendezeit“ steht jetzt für die letzte versuchte Interaktion und nicht mehr für die letzte erfolgreiche Interaktion. Das neue Antwortfeld zur aktiven Zeit kennzeichnet jetzt die letzte erfolgreiche Interaktion.
XREADGROUPund X [AUTO] CLAIM erzeugen den Verbraucher, unabhängig davon, ob er in der Lage war, etwas zu lesen oder einen Anspruch geltend zu machen. [TBD- was ist das „es“ hier?]
ACLStandardmäßig setzt der neu erstellte Benutzer das Sanitize-Payload-Flag in/. ACL LIST GETUSER
Der HELLO Befehl hat keinen Einfluss auf den Client-Status, sofern er nicht erfolgreich ist.
NANAntworten werden auf einen einzigen Nan-Typ normalisiert, ähnlich dem aktuellen Verhalten von inf.
Weitere Informationen zu Valkey finden Sie unter Valkey
Weitere Informationen zur Version Valkey 7.2 finden Sie in den Versionshinweisen zu Redis OSS 7.2.4
MemoryDB Version 7.1 (erweitert)
MemoryDB Version 7.1 bietet Unterstützung für Vektorsuchfunktionen in allen Regionen sowie wichtige Bugfixes und Leistungsverbesserungen.
Vektorsuchfunktion: Die Vektorsuche kann mit vorhandenen MemoryDB-Funktionen verwendet werden. Anwendungen, die die Vektorsuche nicht verwenden, sind von ihrer Präsenz nicht betroffen. Die Vektorsuche ist ab MemoryDB Version 7.1 in allen Regionen verfügbar. Weitere Informationen finden Sie in der Dokumentation hier.
Anmerkung
MemoryDB Version 7.1 ist mit OSS Redis v7.0 kompatibel. Weitere Informationen zur Version Redis OSS 7.0 finden Sie in den Versionshinweisen zu Redis 7.0 unter Redis OSS
MemoryDB Version 7.0 (erweitert)
MemoryDB 7.0 bietet eine Reihe von Verbesserungen und Unterstützung für neue Funktionen:
-
Funktionen
: MemoryDB 7 bietet Unterstützung für Funktionen und bietet eine verwaltete Oberfläche, mit der Entwickler LUASkripts mit Anwendungslogik ausführen können, die auf dem MemoryDB-Cluster gespeichert ist, ohne dass Clients die Skripts bei jeder Verbindung erneut an den Server senden müssen. -
ACLVerbesserungen
: MemoryDB 7 bietet Unterstützung für die nächste Version von Access Control Lists (). ACLs Mit MemoryDB OSS Valkey 7 oder Redis OSS 7 können Kunden jetzt mehrere Berechtigungssätze für bestimmte Schlüssel oder Schlüsselräume angeben. -
Sharded Pub/Sub
: MemoryDB 7 unterstützt jetzt Pub/Sub functionality in a sharded way when running MemoryDB in Cluster Mode Enabled (CME). Pub/Sub Run-Funktionen, die es Publishern ermöglichen, Nachrichten an eine beliebige Anzahl von Abonnenten auf einem Kanal zu versenden. Mit Amazon MemoryDB Valkey 7 und Redis OSS 7 sind Kanäle an einen Shard im MemoryDB-Cluster gebunden, sodass Kanalinformationen nicht mehr zwischen Shards weitergegeben werden müssen. Dies führt zu einer verbesserten Skalierbarkeit. -
Verbessertes I/O-Multiplexing: MemoryDB Valkey 7 und Redis OSS Version 7 führen erweitertes I/O-Multiplexing ein, das einen höheren Durchsatz und eine geringere Latenz für Workloads mit hohem Durchsatz und vielen gleichzeitigen Client-Verbindungen zu einem MemoryDB-Cluster bietet. Wenn Sie beispielsweise einen Cluster von r6g.4xlarge-Knoten verwenden und 5200 Clients gleichzeitig ausführen, können Sie im Vergleich zu MemoryDB Version 6 einen um bis zu 46% höheren Durchsatz (Lese- und Schreibvorgänge pro Sekunde) und eine um bis zu 21% verringerte P99-Latenz erzielen.
Weitere Informationen zu Valkey finden Sie unter Valkey
Weitere Informationen zur Version Valkey 7.2 finden Sie in den Versionshinweisen zu Redis OSS 7.2.4
MemoryDB mit Redis Version 6.2 (erweitert) OSS
MemoryDB stellt die nächste Version der OSS Redis-Engine vor, die automatische Unterstützung für VersionsupgradesBenutzer mit Zugriffskontrolllisten authentifizieren () ACLs, clientseitiges Caching und erhebliche betriebliche Verbesserungen umfasst.
Die Redis-Engine-Version 6.2.6 bietet auch Unterstützung für das native Format JavaScript Object Notation (JSON), eine einfache, schemalose Methode zur Kodierung komplexer Datensätze innerhalb von Redis-Clustern. OSS Mit der JSON Unterstützung können Sie die Leistung und Redis für Anwendungen nutzen, die über dem Internet laufen. OSS APIs JSON Weitere Informationen finden Sie unter Erste Schritte mit JSON. Ebenfalls enthalten ist eine JSON zugehörige MetrikJsonBasedCmds
, mit der die Verwendung dieses Datentyps überwacht wird. CloudWatch Weitere Informationen finden Sie unter Metriken für MemoryDB.
Mit Redis OSS 6 wird MemoryDB eine einzige Version für jede Redis-Nebenversion anbieten, anstatt mehrere OSS Patch-Versionen anzubieten. Dadurch sollen Verwirrung und Unklarheiten vermieden werden, wenn Sie aus mehreren Nebenversionen wählen müssen. MemoryDB verwaltet außerdem automatisch die Minor- und Patch-Version Ihrer laufenden Cluster und sorgt so für eine verbesserte Leistung und erhöhte Sicherheit. Dies wird über die üblichen Kanäle zur Kundenbenachrichtigung im Rahmen einer Service-Update-Kampagne abgewickelt. Weitere Informationen finden Sie unter Dienstupdates in MemoryDB.
Wenn Sie die Engine-Version bei der Erstellung nicht angeben, wählt MemoryDB automatisch die bevorzugte OSS Redis-Version für Sie aus. Wenn Sie andererseits die Engine-Version mithilfe von angeben, ruft MemoryDB automatisch die bevorzugte Patch-Version von Redis 6.2 auf6.2
, die verfügbar ist. OSS
Wenn Sie beispielsweise einen Cluster erstellen, setzen Sie den Parameter auf. --engine-version
6.2
Der Cluster wird zum Zeitpunkt der Erstellung mit der aktuell verfügbaren bevorzugten Patch-Version gestartet. Jede Anfrage mit einem Wert für die vollständige Engine-Version wird abgelehnt, es wird eine Ausnahme ausgelöst und der Vorgang schlägt fehl.
Beim Aufrufen von wird der EngineVersion
Parameterwert auf 6.2 gesetzt und die tatsächliche Vollversion der Engine wird im EnginePatchVersion
Feld zurückgegeben. DescribeEngineVersions
API
Weitere Informationen zur Version Redis OSS 6.2 finden Sie in den Versionshinweisen zu Redis 6.2
Upgrade von Engine-Versionen
MemoryDB verwaltet die Patch-Version Ihrer laufenden Cluster standardmäßig automatisch über Service-Updates. Sie können sich auch vom auto Upgrade der Nebenversion abmelden, wenn Sie die AutoMinorVersionUpgrade
Eigenschaft Ihrer Cluster auf False setzen. Sie können sich jedoch nicht vom auto Patch-Versionsupgrade abmelden.
Sie können steuern, ob und wann die protokollkonforme Software, die Ihren Cluster unterstützt, auf neue Versionen aktualisiert wird, die von MemoryDB unterstützt werden, bevor das auto Upgrade gestartet wird. Mit diesem Maß an Kontrolle können Sie die Kompatibilität mit bestimmten Versionen aufrechterhalten, neue Versionen mit Ihrer Anwendung testen, bevor Sie sie für die Produktion bereitstellen, und Versions-Upgrades nach Ihren eigenen Vorgaben und Zeitplänen durchführen lassen.
Sie können auch ein Upgrade von einer vorhandenen MemoryDB mit Redis-Engine auf eine Valkey-Engine durchführen. OSS
Sie können Engine-Versions-Upgrades für Ihren Cluster auf folgende Weise initiieren:
Indem Sie es aktualisieren und eine neue Engine-Version angeben. Weitere Informationen finden Sie unter Einen MemoryDB-Cluster ändern.
Anwenden des Service-Updates für die entsprechende Engine-Version. Weitere Informationen finden Sie unter Dienstupdates in MemoryDB.
Beachten Sie Folgendes:
Sie können zwar auf eine neue Engine-Version upgraden, jedoch kein Downgrade auf eine ältere Engine-Version ausführen. Wenn Sie eine ältere Engine-Version verwenden möchten, müssen Sie den vorhandenen Cluster löschen und mit der älteren Engine-Version neu erstellen.
Wir empfehlen, regelmäßig auf die neueste Hauptversion zu aktualisieren, da die meisten wichtigen Verbesserungen nicht auf ältere Versionen zurückportiert werden. Da MemoryDB die Verfügbarkeit auf eine neue AWS Region ausdehnt, unterstützt MemoryDB die beiden jeweils neuesten
MAJOR.MINOR
Versionen für die neue Region. Wenn beispielsweise eine neue AWS Region eingeführt wird und die neuestenMAJOR.MINOR
MemoryDB-Versionen 7.0 und 6.2 sind, unterstützt MemoryDB die Versionen 7.0 und 6.2 in der neuen Region. AWS Sobald neuereMAJOR.MINOR
Versionen von MemoryDB veröffentlicht werden, wird MemoryDB weiterhin Unterstützung für die neu veröffentlichten MemoryDB-Versionen hinzufügen. Weitere Informationen zur Auswahl von Regionen für MemoryDB finden Sie unter. Unterstützte Regionen und EndpunkteVersionsverwaltung der Enginge ist so entwickelt, dass Sie so viel Kontrolle wie möglich darüber haben, wie Patchen erfolgt. MemoryDB behält sich jedoch das Recht vor, Ihren Cluster in Ihrem Namen zu patchen, falls es zu einer kritischen Sicherheitslücke im System oder in der Software kommen sollte.
MemoryDB wird für jede Valkey- oder Redis-Nebenversion eine einzige Version anbieten, anstatt mehrere OSS Patch-Versionen anzubieten. Dadurch sollen Verwirrung und Unklarheiten vermieden werden, wenn Sie aus mehreren Versionen wählen müssen. MemoryDB verwaltet außerdem automatisch die Minor- und Patch-Version Ihrer laufenden Cluster und sorgt so für eine verbesserte Leistung und erhöhte Sicherheit. Dies wird über die üblichen Kanäle zur Kundenbenachrichtigung im Rahmen einer Service-Update-Kampagne abgewickelt. Weitere Informationen finden Sie unter Dienstupdates in MemoryDB.
Sie können Ihre Cluster-Version mit minimalen Ausfallzeiten aktualisieren. Der Cluster kann während des gesamten Upgrades gelesen und in der Regel auch beschrieben werden, ausgenommen während der Failover-Operation, der nur einige Sekunden dauert.
-
Wir empfehlen, Engine-Upgrades in Zeiten mit geringem eingehendem Schreibverkehr durchzuführen.
Cluster mit mehreren Shards werden wie folgt verarbeitet und gepatcht:
-
Pro Shard wird jeweils nur ein Upgrade-Vorgang durchgeführt.
-
In jedem Shard werden alle Replicas verarbeitet, bevor der Primärknoten verarbeitet wird. Wenn es in einem Shard weniger Replicas gibt, kann der Primärknoten in diesem Shard verarbeitet werden, bevor die Verarbeitung der Replicas in anderen Shards abgeschlossen wird.
-
Die Primärknoten für alle Shards werden seriell verarbeitet. Es erfolgt jeweils nur ein Upgrade für einen Primärknoten gleichzeitig.
-
So führen Sie ein Upgrade von Engine-Versionen aus
Sie initiieren Versionsupgrades für Ihren Cluster, indem Sie ihn mithilfe der MemoryDB-Konsole AWS CLI, der oder der MemoryDB ändern API und eine neuere Engine-Version angeben. Weitere Informationen finden Sie unter den folgenden Themen.
Blockierte Redis-Engine-Upgrades lösen OSS
Wie in der folgenden Tabelle dargestellt, ist Ihr OSS Redis-Engine-Upgrade-Vorgang blockiert, wenn ein Scale-Up-Vorgang aussteht.
Ausstehende Vorgänge | Blockierte Vorgänge |
---|---|
Aufwärtsskalierung | Unmittelbares Engine-Upgrade |
Engine-Upgrade | Unmittelbares Aufwärtsskalieren |
Aufwärtsskalierung und Engine-Upgrade | Unmittelbares Aufwärtsskalieren |
Unmittelbares Engine-Upgrade |