Właściwie zależy od przypadku użycia
Wybierz Memcached, jeśli masz te wymagania:
- Chcesz możliwie najprostszego modelu.
- Musisz uruchamiać duże węzły z wieloma rdzeniami lub wątkami.
- Potrzebujesz możliwości skalowania w górę/w dół,
- Dodawanie i usuwanie węzłów w miarę wzrostu i spadku zapotrzebowania w systemie.
- Chcesz podzielić swoje dane na wiele fragmentów.
- Musisz buforować obiekty, takie jak baza danych.
Wybierz Redis, jeśli masz te wymagania:
- Potrzebujesz złożonych typów danych, takich jak ciągi, skróty, listy i zestawy.
- Musisz posortować lub uszeregować zestawy danych w pamięci.
- Chcesz trwałości swojego magazynu kluczy.
- Chcesz zreplikować swoje dane z podstawowej do jednej lub więcej replik do odczytu w przypadku aplikacji intensywnie odczytujących.
- Potrzebujesz automatycznego przełączania awaryjnego w przypadku awarii głównego węzła.
- Chcesz publikować i subskrybować funkcje (pub/sub) — aby informować klientów o zdarzeniach na serwerze.
- Potrzebujesz możliwości tworzenia kopii zapasowych i przywracania.
Oto interesujący artykuł autorstwa aws https://d0.awsstatic.com/whitepapers/performance-at-scale-with-amazon-elasticache.pdf