EMZETT.
Login

Memcached und Redis im Vergleich

Kurz: Beide halten Daten im Arbeitsspeicher für schnelle Zugriffe. Memcached ist ein schlichter Schlüssel-Wert-Cache, Redis ein Datenstruktur-Server mit viel mehr Funktionen.

Genauer: Für reines Zwischenspeichern von Seitenteilen oder Abfrageergebnissen reicht Memcached. Sobald man Listen, Zähler, Warteschlangen oder Dauerhaftigkeit braucht, ist Redis die Wahl.

Im Detail

  • Memcached: Strings als Werte, mehrere Threads, einfache Verteilung auf mehrere Server durch den Client (konsistentes Hashing), keine Speicherung auf Platte.
  • Redis: Strings, Listen, Mengen, sortierte Mengen, Hashes, Streams. Optional Speicherung auf Platte (RDB-Schnappschüsse, AOF-Protokoll), Replikation, Pub/Sub, Lua-Skripte. Der Kern arbeitet weitgehend einthreadig.
  • Verdrängung: Beide löschen bei vollem Speicher nach Regeln wie LRU.
  • Typische Aufgaben für Redis: Sitzungen, Bestenlisten (sortierte Menge), Ratenbegrenzung, Job-Warteschlangen.
  • Wahl: Reiner Cache mit sehr hohem Durchsatz auf vielen Kernen: Memcached. Alles darüber hinaus: Redis.

Siehe auch: Caching-Strategien