Vergleich der selbst entworfenen Caches von Memcached und Redis OSS - Amazon ElastiCache (Redis OSS)

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 Memcached und Redis OSS

Amazon ElastiCache unterstützt die Memcached- und Redis OSS-Cache-Engines. 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 Redis OSS mit einer Version von ElastiCache (Redis OSS), wenn Folgendes auf Sie zutrifft:
  • ElastiCache (Redis OSS) Version 7.0 (erweitert)

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

  • ElastiCache (Redis OSS) Version 6.2 (erweitert)

    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 (Redis OSS) Version 6.0 (erweitert)

    Sie möchten Benutzer mit rollenbasierter Zugriffskontrolle authentifizieren.

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

  • ElastiCache (Redis OSS) Version 5.0.0 (erweitert)

    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 (Redis OSS) Version 4.0.10 (erweitert)

    Unterstützt sowohl die Verschlüsselung als auch das dynamische Hinzufügen oder Entfernen von Shards zu Ihrem 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 (Redis OSS) Version 3.2.10 (erweitert)

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

    Wichtig

    Derzeit unterstützt ElastiCache (Redis OSS) 3.2.10 keine Verschlüsselung.

    Weitere Informationen finden Sie hier:

  • ElastiCache (Redis OSS) Version 3.2.6 (erweitert)

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

  • ElastiCache (Redis OSS) (Clustermodus aktiviert) Version 3.2.4

    Wenn Sie die Funktionalität von Redis OSS 2.8.x sowie die folgenden Funktionen benötigen, wählen Sie Redis OSS 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 (Redis OSS) (nicht geclusterter Modus) 2.8.x und 3.2.4 (erweitert)

    Wenn Folgendes auf Sie zutrifft, wählen Sie Redis OSS 2.8.x oder Redis OSS 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, Redis OSS (Cluster-Modus deaktiviert) und Redis OSS (Cluster-Modus aktiviert)
Memcached Redis OSS (Clustermodus deaktiviert) 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 ElastiCache (Memcached) Versionen oder Unterstützte ElastiCache (Redis OSS) Versionen.