Vergleichsindex | Zwischengespeichert | Sage es noch einmal |
---|
Was ist | Memcached ist ein In-Memory-Key-Value-Speicher, der ursprünglich für Caching-Zwecke gedacht war. | Redis ist ein In-Memory-Datenstrukturspeicher, der als Datenbank, Cache und Nachrichtenbroker verwendet wird. |
Beschreibung | MemcacheD ist einfach, einfach gestaltet und dennoch leistungsstark. Sein einfaches Design fördert eine schnelle Bereitstellung, erleichtert die Übertreibung und löst viele Probleme im Zusammenhang mit großen Datencaches. Es verfügt über integrierte APIs, die eine sehr große Hash-Tabelle bereitstellen, die auf mehrere Computer verteilt ist, und verwendet eine interne Speicherverwaltung, um mehr Effizienz zu erzielen. MemcacheD unterstützt nur den Datentyp String, der sich ideal zum Speichern von schreibgeschützten Daten eignet. Memcached ist ein flüchtiger In-Memory-Schlüsselwert-Ursprung. Es ist multithreaded und wird hauptsächlich zum Zwischenspeichern von Objekten verwendet. | Redis ist ein Open-Source-In-Memory-Datenstrukturspeicher, der auch als Datenbank sowie zum Caching verwendet werden kann. Es unterstützt fast alle Arten von Datenstrukturen wie Strings, Hashes, Listen, Mengen, sortierte Mengen mit Bereichsabfragen, Bitmaps, Hyperloglogs und Geoindizes durch Radiusabfragen. Redis kann auch für Messaging-Systeme verwendet werden, die als Pub/Sub verwendet werden. |
Primäres Datenbankmodell | Memcached folgt dem Key-Value-Store-Datenbankmodell. | Redis folgt auch dem Key-Value-Store-Datenbankmodell. |
Entwickelt von | Memcached wird von Danga Interactive entwickelt. | Redis wird von Salvatore Sanfilippo entwickelt. |
Erstveröffentlichung | Memcached wurde ursprünglich im Jahr 2003 veröffentlicht. | Redis wurde ursprünglich im Jahr 2009 veröffentlicht. |
Aktuelle Version | Die aktuelle Version von Memcached ist 1.5.1, veröffentlicht im August 2017. | Die aktuelle Version von Redis ist 4.0.2, veröffentlicht im September 2017. |
Lizenz | Memcached ist kostenlos und Open Source. | Redis ist ebenfalls kostenlos und Open Source. |
Cloudbasiert | Nein | Nein |
Implementierungssprache | Memcached ist in C-Sprache implementiert. | Redis ist auch in C-Sprache implementiert. |
Server-Betriebssysteme | FreeBSD Linux OS X Unix Windows | BSD Linux OS X Windows |
Unterstützte Programmiersprachen | .Net, C, C++, ColdFusion, Erlang, Java, Lisp, Lua, OCaml, Perl, PHP, Python, Ruby | C,C#,C++, Clojure, Crystal, D, Dart, Elixir, Erlang, Fancy, Go, Haskell, Haxe, Java, JavaScript (Node.js), Lisp, Lua, MatLab, Objective-C, OCaml info, Perl, PHP, Prolog, Pure Data, Python, R, Rebol, Ruby, Rust, Scala, Schema, Smalltalk, Tcl |
Serverseitige Skripte | Nein | nehmen |
Löst aus | Nein | Nein |
Partitionierungsmethoden | Keiner | Scherben |
Replikationsmethoden | Keiner | Master-Slave-Replikation |
Karte verkleinern | Nein | Nein |
Fremde Schlüssel | Nein | Nein |
Transaktionskonzepte | Nein | Optimistisches Sperren, atomare Ausführung von Befehlsblöcken und Skripten |
Parallelität | Jawohl | Jawohl |
Haltbarkeit | Nein | Jawohl |
Benutzerkonzepte | Jawohl | Einfache passwortbasierte Zugangskontrolle |
Installation | Memcached ist etwas kompliziert zu installieren und auszuführen. | Die Installation von Redis ist so viel einfacher. Keine Abhängigkeiten erforderlich. |
Speichernutzung | MemcacheD ist speichereffizienter als Redis, da es vergleichsweise weniger Speicherressourcen für Metadaten verbraucht. | Redis ist speichereffizienter, erst nachdem Sie Redis-Hashes verwendet haben. |
Beharrlichkeit | Memcached verwendet keine persistenten Daten. Bei der Verwendung von Memcached können bei einem Neustart Daten verloren gehen, und die Neuerstellung des Cache ist ein kostspieliger Prozess. | Redis kann mit persistenten Daten umgehen. Standardmäßig synchronisiert es mindestens alle 2 Sekunden Daten mit der Festplatte und bietet optionale und einstellbare Datenpersistenz, um den Cache nach einem geplanten Herunterfahren oder einem unbeabsichtigten Ausfall zu booten. Während wir dazu neigen, die Daten in Caches als flüchtig und vorübergehend zu betrachten, kann das Speichern von Daten auf der Festplatte in Caching-Szenarien sehr wertvoll sein. |
Reproduzieren | Memcached unterstützt keine Replikation. | Redis unterstützt die Master-Slave-Replikation. |
Speichertyp | MemcacheD speichert Variablen in seinem Speicher und ruft alle Informationen direkt aus dem Serverspeicher ab, anstatt erneut auf die Datenbank zuzugreifen. | Redis ist wie eine Datenbank, die sich im Speicher befindet. Es führt (liest und schreibt) ein Schlüssel/Wert-Paar aus seiner Datenbank aus, um die Ergebnismenge zurückzugeben. Aus diesem Grund wird es von Entwicklern für Echtzeitmetriken und -analysen verwendet. |
Ausführungsgeschwindigkeit und Leistung | MemcacheD eignet sich sehr gut für stark frequentierte Websites. Es kann viele Informationen gleichzeitig lesen und Ihnen in einer hervorragenden Reaktionszeit zurückgeben. | Redis kann weder hohen Lese- noch hohen Schreibverkehr bewältigen. |
Datenstruktur | MemcacheD verwendet in seiner Datenstruktur nur Zeichenfolgen und Ganzzahlen. Alles, was Sie speichern, kann also entweder ein String oder eine Ganzzahl sein. Es ist kompliziert, weil Sie bei ganzen Zahlen nur Daten manipulieren können, indem Sie sie addieren oder subtrahieren. Wenn Sie Arrays oder Objekte speichern müssen, müssen Sie sie zuerst serialisieren und dann speichern. Um sie zurückzulesen, müssen Sie die Serialisierung aufheben. | Redis verfügt über stärkere Datenstrukturen, die nicht nur Ganzzahlen, sondern auch binärsichere Zeichenfolgen, Listen binärsicherer Zeichenfolgen, Sätze binärsicherer Zeichenfolgen und sortierte Sätze verarbeiten können. |
Schlüssellänge | Die Schlüssellänge von Memcached beträgt maximal 250 Bytes. | Die Schlüssellänge von Redis beträgt maximal 2 GB. |