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!