Vergleich der selbst entworfenen Caches von Valkey, Memcached und Redis OSS - Amazon ElastiCache

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.

Vergleich der selbst entworfenen Caches von Valkey, Memcached und Redis OSS

Amazon ElastiCache unterstützt die OSS-Cache-Engines Valkey, Memcached und Redis. Jede Engine hat ihre Vorteile. Anhand der Informationen in diesem Thema können Sie die Engine und Version auswählen, die Ihren Anforderungen am besten entspricht.

Wichtig

Nachdem Sie einen Cache, einen selbst entworfenen Cluster oder eine Replikationsgruppe erstellt haben, können Sie ein Upgrade auf eine neuere Engine-Version durchführen, aber Sie können kein Downgrade auf eine ältere Engine-Version durchführen. Wenn Sie eine ältere Engine-Version verwenden möchten, müssen Sie den vorhandenen Cache, den selbst entworfenen Cluster oder die Replikationsgruppe löschen und ihn mit der früheren Engine-Version erneut erstellen.

Auf den ersten Blick ähneln sich die Engines. Jede Engine befindet sich in einem als Hauptspeicher-basierten Key-Value Store. In der Praxis bestehen jedoch erhebliche Unterschiede.

Wählen Sie Memcached aus, wenn Folgendes auf Sie zutrifft:
  • Sie benötigen ein möglichst einfaches Modell.

  • Sie müssen große Knoten mit mehreren Kernen oder Threads ausführen.

  • Sie müssen Knoten skalieren, hinzufügen und entfernen können, wenn die Anforderungen an Ihr System steigen oder sinken.

  • Sie müssen Objekte zwischenspeichern.

Wählen Sie Valkey oder Redis OSS with, ElastiCache wenn Folgendes auf Sie zutrifft:
  • ElastiCache Version 7.2 für Valkey oder Version 7.0 (erweitert) für Redis OSS

    Sie möchten Functions, Sharded Pub/Sub oder ACL-Verbesserungen verwenden. Weitere Informationen finden Sie unter Redis OSS Version 7.0 (erweitert).

  • ElastiCache Version 6.2 (erweitert) für Redis OSS

    Sie möchten die Möglichkeit haben, Daten zwischen Speicher und SSD mit dem R6gd-Knotentyp zu staffeln. Weitere Informationen finden Sie unter Daten-Tiering.

  • ElastiCache Version 6.0 (erweitert) für Redis OSS

    Sie möchten Benutzer mit rollenbasierter Zugriffskontrolle authentifizieren.

    Weitere Informationen finden Sie unter Redis OSS Version 6.0 (erweitert).

  • ElastiCache Version 5.0.0 (erweitert) für Redis OSS

    Sie möchten Redis OSS-Streams verwenden, eine Protokolldatenstruktur, die es Produzenten ermöglicht, neue Elemente in Echtzeit anzuhängen, und es Verbrauchern ermöglicht, Nachrichten entweder blockierend oder nicht blockierend zu konsumieren.

    Weitere Informationen finden Sie unter Redis OSS Version 5.0.0 (erweitert).

  • ElastiCache Version 4.0.10 (erweitert) für Redis OSS

    Unterstützt sowohl die Verschlüsselung als auch das dynamische Hinzufügen oder Entfernen von Shards zu Ihrem Valkey- oder Redis OSS-Cluster (Clustermodus aktiviert).

    Weitere Informationen finden Sie unter Redis OSS Version 4.0.10 (erweitert).

Die folgenden Versionen sind veraltet, haben das Ende ihrer Lebensdauer erreicht oder stehen kurz vor dem Ende.

  • ElastiCache Version 3.2.10 (erweitert) für Redis OSS

    Unterstützt die Fähigkeit, Shards dynamisch zu Ihrem Valkey- oder Redis OSS-Cluster (Clustermodus aktiviert) hinzuzufügen oder zu entfernen.

    Wichtig

    Derzeit unterstützt ElastiCache 3.2.10 für Redis OSS keine Verschlüsselung.

    Weitere Informationen finden Sie hier:

  • ElastiCache Version 3.2.6 (erweitert) für Redis OSS

    Wenn Sie die Funktionalität früherer Redis OSS-Versionen sowie die folgenden Funktionen benötigen, wählen Sie 3.2.6:

  • ElastiCache (Clustermodus aktiviert) Version 3.2.4 für Redis OSS

    Wenn Sie die Funktionalität von 2.8.x sowie die folgenden Funktionen benötigen, wählen Sie 3.2.4 (Clustermodus):

    • Sie müssen Ihre Daten auf zwei bis 500 Knotengruppen verteilen (nur im Cluster-Modus).

    • Sie benötigen räumliche Indizierung (Cluster-Modus oder Nicht-Cluster-Modus).

    • Sie müssen nicht mehrere Datenbanken unterstützen.

  • ElastiCache (nicht geclusterter Modus) 2.8.x und 3.2.4 (erweitert) für Redis OSS

    Falls Folgendes auf Sie zutrifft, 2.8.x oder 3.2.4 (nicht geclusterter Modus):

    • Sie benötigen komplexe Datentypen, wie Zeichenfolgen, Hashes, Listen, Sets, Sorted Sets und Bitmaps.

    • Sie müssen Datensätze im Speicher sortieren oder ihnen ein Rang zuweisen.

    • Sie benötigen Persistenz für Ihren Schlüsselspeicher.

    • Sie müssen Ihre Daten für leseintensive Anwendungen vom Primärknoten in eine oder mehrere Lesereplikate replizieren.

    • Sie benötigen ein automatisches Failover, wenn Ihr primärer Knoten ausfällt.

    • Sie benötigen Veröffentlichungs- und Subskriptionsfunktionen (Pub/Sub), um Clients über Ereignisse auf dem Server zu informieren.

    • Sie benötigen Sicherungs- und Wiederherstellungsfunktionen für selbst entworfene Cluster sowie für serverlose Caches.

    • Sie müssen mehrere Datenbanken unterstützen.

Zusammenfassung des Vergleichs von Memcached, Valkey oder Redis OSS (Clustermodus deaktiviert) und Valkey oder Redis OSS (Clustermodus aktiviert)
Memcached Valkey oder Redis OSS (Clustermodus deaktiviert) Valkey oder Redis OSS (Clustermodus aktiviert)
Engine-Versionen + 1.4.5 und höher 4.0.10 und höher 4.0.10 und höher
Datentypen Einfach ‡ 2.8.x – Complex * 3.2.x und höher – Komplex
Komplex †
Datenpartitionierung Ja Nein Ja
Modifizierbarer Cluster Ja Ja 3.2.10 und höher – Beschränkt
Online-Resharding Nein Nein 3.2.10 und höher
Verschlüsselung während der Übertragung 1.6.12 und höher 4.0.10 und höher 4.0.10 und höher
Daten-Tiering Nein 6.2 und später 6.2 und später
Compliance-Zertifizierungen
Compliance-Zertifizierung

    FedRAMP

    HIPAA

    PCI DSS

 

Ja – 1.6.12 und höher

Ja – 1.6.12 und höher

Ja

 

4.0.10 und höher

4.0.10 und höher

4.0.10 und höher

 

4.0.10 und höher

4.0.10 und höher

4.0.10 und höher

Multi-Thread Ja Nein Nein
Upgrade des Knotentyps Nein Ja Ja
Engine-Upgrade Ja Ja Ja
Hohe Verfügbarkeit (Replikation) Nein Ja Ja
Automatisches Failover Nein Optional Erforderlich
Pub-/Sub-Funktionen Nein Ja Ja
Sortierte Sätze Nein Ja Ja
Backup und Wiederherstellung Nur für serverloses Memcached, nicht für selbst entworfene Memcached-Cluster Ja Ja
Räumliche Indizierung Nein 4.0.10 und höher Ja
Hinweise:
Zeichenfolge, Objekte (wie Datenbanken)
* Zeichenfolge, Sets, Sorted Sets, Listen, Hashes, Bitmaps, HyperLogLog
Zeichenfolge, Sets, Sorted Sets, Listen, Hashes, Bitmaps, HyperLogLog, räumliche Indizes
+ Schließt Versionen aus, die veraltet sind, das Ende ihrer Nutzungsdauer erreicht haben oder bald ablaufen werden.

Nachdem Sie die Engine für Ihren Cluster ausgewählt haben, verwenden Sie am besten die neueste Version dieser Engine. Weitere Informationen finden Sie unter Unterstützte Knotentypen.