Hängt tatsächlich vom Anwendungsfall ab
Wählen Sie Memcached aus, wenn Sie diese Anforderungen erfüllen:
- Sie wollen das einfachste Modell, das möglich ist.
- Sie müssen große Knoten mit mehreren Kernen oder Threads ausführen.
- Sie benötigen die Möglichkeit zum Auf- und Abwärtsskalieren
- Hinzufügen und Entfernen von Knoten, wenn die Nachfrage auf Ihrem System steigt oder sinkt.
- Sie möchten Ihre Daten auf mehrere Shards verteilen.
- Sie müssen Objekte, z. B. eine Datenbank, zwischenspeichern.
Wählen Sie Redis, wenn Sie diese Anforderungen haben:
- Sie benötigen komplexe Datentypen wie Strings, Hashes, Listen und Sets.
- Sie müssen In-Memory-Datensätze sortieren oder einordnen.
- Sie möchten die Persistenz Ihres Schlüsselspeichers.
- Sie möchten Ihre Daten für leseintensive Anwendungen von der primären auf eine oder mehrere Read Replicas replizieren.
- Sie benötigen ein automatisches Failover, wenn Ihr primärer Knoten ausfällt.
- Sie möchten Funktionen zum Veröffentlichen und Abonnieren (Pub/Sub), um Clients über Ereignisse auf dem Server zu informieren.
- Sie möchten Sicherungs- und Wiederherstellungsfunktionen.
Hier ist ein interessanter Artikel von aws https://d0.awsstatic.com/whitepapers/performance-at-scale-with-amazon-elasticache.pdf