Heim  >  Artikel  >  Datenbank  >  Was ist der Unterschied zwischen MongoDB und Redis?

Was ist der Unterschied zwischen MongoDB und Redis?

青灯夜游
青灯夜游Original
2019-06-06 14:48:2959334Durchsuche

Was ist der Unterschied zwischen MongoDB und Redis?

MongoDB ähnelt eher MySQL und unterstützt Feldindizes und Cursoroperationen. Sein Vorteil besteht darin, dass es über leistungsstarke Abfragefunktionen verfügt, JSON-Daten gut abfragen kann und große Datenmengen speichern kann , unterstützt jedoch keine Transaktionen.

Redis ist ein Open-Source-In-Memory-Datenstrukturspeichersystem (BSD-lizenziert), das mehrere Arten von Datenstrukturen unterstützt und als Datenbank, Cache und Nachrichtenwarteschlangenbroker verwendet werden kann.

Was ist der Unterschied zwischen MongoDB und Redis

1. Speicherverwaltungsmechanismus

Alle Redis-Daten werden im Speicher gespeichert und regelmäßig auf die Festplatte geschrieben Wenn der Speicher nicht ausreicht, können Sie den angegebenen LRU-Algorithmus zum Löschen von Daten auswählen.

MongoDB-Daten werden im Speicher gespeichert, der vom Linux-System mmap implementiert wird. Wenn der Speicher nicht ausreicht, werden nur Hotspot-Daten in den Speicher gelegt und andere Daten werden auf der Festplatte gespeichert.

2. Unterstützte Datenstrukturen

Redis unterstützt eine breite Palette von Datenstrukturen, einschließlich Hash, Set, Liste usw.

MongoDB hat eine relativ einfache Datenstruktur, unterstützt jedoch umfangreiche Datenausdrücke und Indizes. Es ist einer relationalen Datenbank am ähnlichsten und unterstützt eine Vielzahl von Abfragesprachen.

3. Datenvolumen und Leistung:

Wenn der physische Speicher ausreicht, redis>mongodb>mysql

Wenn der physische Speicher nicht ausreicht, werden sowohl redis als auch mongodb verwendet Verwenden Sie virtuellen Speicher.

Wenn Redis den virtuellen Speicher starten möchte, ist es offensichtlich, dass Sie entweder einen Speicherstick hinzufügen oder die Datenbank ändern müssen.

Mongodb ist jedoch anders. Solange das Unternehmen das Lese-/Schreibverhältnis von heißen und kalten Daten garantieren kann, wird es bei heißen Daten weniger MMAP-Austausch im physischen Speicher geben.

mongodb kann weiterhin die Leistung garantieren.

4. Leistung

mongodb ist auf Speicher angewiesen und hat einen hohen TPS; Redis ist auf Speicher angewiesen und hat einen sehr hohen TPS. Redis ist hinsichtlich der Leistung besser als MongoDB.

5. Zuverlässigkeit

Mongodb verwendet die Binlog-Methode (MySQL verwendet diese Methode auch), um die Persistenz zu unterstützen und die Zuverlässigkeit ab Version 1.8 zu erhöhen;

Redis verlässt sich auf Snapshots für Persistenz; AOF erhöht die Zuverlässigkeit; während es die Zugriffsleistung verbessert.

MongoDB ist hinsichtlich der Zuverlässigkeit besser als Redis.

6. Datenanalyse

Mongodb verfügt über eine integrierte Datenanalysefunktion (Mapreduce unterstützt diese nicht).

7. Transaktionsunterstützung

Die Transaktionsunterstützung von Redis ist relativ schwach und kann nur sicherstellen, dass jede Operation in der Transaktion kontinuierlich ausgeführt wird.

8. Cluster

Die MongoDB-Clustertechnologie ist relativ ausgereift und Redis unterstützt Cluster ab 3.0.

Empfohlene Video-Tutorials: „MongoDB-Tutorial“, „Redis-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen MongoDB und Redis?. 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