Heim  >  Artikel  >  Datenbank  >  Welches ist besser zwischen Redis und Mongodb?

Welches ist besser zwischen Redis und Mongodb?

anonymity
anonymityOriginal
2019-06-05 16:22:102807Durchsuche

Was ist Redis?

Redis ist eine nicht relationale Open-Source-Protokolldatenbank mit Schlüsselwert, die in der Sprache ANSI C geschrieben ist, Netzwerke unterstützt, speicherbasiert und persistent sein kann und APIs in mehreren Sprachen bereitstellt. Redis ist ein Schlüsselwertspeichersystem. Redis ist eine Art nicht relationale Datenbank und wird häufig als Cache verwendet.

Welches ist besser zwischen Redis und Mongodb?

Ähnlich wie Memcached unterstützt es relativ mehr gespeicherte Werttypen, einschließlich String (String), Liste (verknüpfte Liste), Set (Sammlung), Zset (sortiert). Menge – geordnete Menge) und Hash (Hash-Typ). Diese Datentypen unterstützen alle Push/Pop-, Add/Remove-, Schnitt-, Vereinigungs-, Differenz- und umfangreichere Operationen und diese Operationen sind alle atomar. Auf dieser Basis unterstützt Redis verschiedene Sortierarten.

Wie bei Memcached werden die Daten zur Gewährleistung der Effizienz im Speicher zwischengespeichert. Der Unterschied besteht darin, dass Redis regelmäßig aktualisierte Daten auf die Festplatte schreibt oder Änderungsvorgänge in zusätzliche Datensatzdateien schreibt und auf dieser Grundlage eine Master-Slave-Synchronisation (Master-Slave) erreicht wird.

Redis bietet die folgenden Vorteile:

1. Unterstützt eine Vielzahl von Datenstrukturen, wie z. B. String (String), Liste (doppelt verknüpfte Liste), Diktat (Hash). Tabelle), Set (Satz), Zset (Sortierte Menge), Hyperloglog (Kardinalitätsschätzung)

2. Unterstützt Persistenzoperationen und kann AOF- und RDB-Daten zur Datensicherung oder Datenwiederherstellung beibehalten Möglichkeit, Datenverlust zu verhindern.

3. Durch den Master-Slave-Mechanismus kann eine synchrone Replikation von Daten in Echtzeit durchgeführt werden, und der Master-Slave-Mechanismus wird unterstützt wichtiges Mittel für Redis, um HA durchzuführen.

Single-Thread-Anfrage, alle Befehle werden seriell ausgeführt und es besteht keine Notwendigkeit, Datenkonsistenzprobleme in gleichzeitigen Situationen zu berücksichtigen.

4. Unterstützt den Mechanismus zum Abonnieren von Pub/Sub-Nachrichten, der zum Abonnieren und Benachrichtigen von Nachrichten verwendet werden kann.

5. Unterstützt einfache Transaktionsanforderungen, es gibt jedoch nur wenige Verwendungsszenarien in der Branche und es ist nicht ausgereift.

Nachteile von Redis:

1. Redis kann nur einen einzelnen Thread verwenden und seine Leistung ist durch die CPU-Leistung begrenzt, sodass die höchste Einzelinstanz-CPU 5 erreichen kann -6wQPS pro Sekunde (je nach Datenstruktur, Datengröße und Server-Hardwareleistung beträgt der Spitzen-QPS in der täglichen Umgebung etwa 1–2 W).

2. Unterstützt einfache Transaktionsanforderungen, es gibt jedoch nur wenige Verwendungsszenarien in der Branche und es ist nicht ausgereift, was sowohl Vor- als auch Nachteile hat.

3.Redis verbraucht mehr Speicher für den String-Typ. Sie können dict (Hash-Tabelle) verwenden, um den Speicher zu komprimieren und den Speicherverbrauch zu reduzieren.

4.Mc und Redis sind beide Schlüsselwerttypen, die weder zum Herstellen von Beziehungen zwischen verschiedenen Datensätzen noch für die Abfragesuche geeignet sind. Beispielsweise ist die Übereinstimmungsoperation des Redis-Schlüsselmusters eine Katastrophe für die Leistung von Redis.

Was ist MongoDB?

MongoDB ist eine Datenbank, die auf verteilter Dateispeicherung basiert. Lassen Sie mich zunächst die Dokumentdatenbank erläutern, in der Daten der Typen XML, JSON und BSON gespeichert werden können. Gleichzeitig ist MongoDB in der Sprache C++ geschrieben. Entwickelt, um skalierbare, leistungsstarke Datenspeicherlösungen für WEB-Anwendungen bereitzustellen. Sie ist ein Produkt zwischen einer relationalen Datenbank und einer nicht relationalen Datenbank. Sie ist die funktionsreichste unter den nicht relationalen Datenbanken und ähnelt am meisten einer relationalen Datenbank.

Die unterstützte Datenstruktur ist sehr locker und hat ein BSON-Format ähnlich wie JSON, sodass komplexere Datentypen gespeichert werden können. Das größte Merkmal von Mongo ist, dass die von ihm unterstützte Abfragesprache in gewisser Weise einer objektorientierten Abfragesprache ähnelt. Sie kann die meisten Funktionen ähnlich wie Einzeltabellenabfragen in relationalen Datenbanken implementieren von Daten.

Mongodb unterscheidet sich von MySQL. Jeder Aktualisierungsvorgang von MySQL wird direkt auf die Festplatte geschrieben, Mongo jedoch nicht. Da es sich um eine In-Memory-Datenbank handelt, werden Datenvorgänge zuerst in den Speicher geschrieben und dann gespeichert auf die Festplatte, aber MongoDB verwendet vorab zugewiesenen Speicherplatz, um eine Dateifragmentierung zu verhindern, sodass die Datendateien von MongoDB sehr groß sind.

Die Eigenschaften von MongoDB sind:

(1) Dokumentorientiert (2) Hohe Leistung (3) Hohe Verfügbarkeit (4) Einfach zu erweitern (5) Reichhaltig Abfragesprache

Das obige ist der detaillierte Inhalt vonWelches ist besser zwischen Redis und Mongodb?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:So sperren Sie RedisNächster Artikel:So sperren Sie Redis