Ich verwende Redis seit Kurzem und finde es recht praktisch, bin mir aber nicht sicher, wann ich Redis und wann Memcache wählen soll, wenn ich eine In-Memory-Datenbank auswähle. Dann habe ich die folgenden relevanten Informationen gefunden, die vom Autor von Redis stammen (auf Stackoverflow). Sie sollten sich nicht zu sehr um die Leistung kümmern. Redis ist bei kleinen Werten pro Kern schneller, aber Memcached kann mehrere Kerne mit einer einzigen ausführbaren Datei und einem TCP-Port ohne Hilfe des Clients verwenden. Außerdem ist Memcached bei großen Werten in der Größenordnung von 100.000 schneller. Redis hat sich bei großen Werten kürzlich stark verbessert (instabiler Zweig), aber Memcached ist in diesem Anwendungsfall immer noch schneller. Der Punkt hier ist: Weder das eine noch das andere wird wahrscheinlich Ihr Engpass für die Abfragen pro Sekunde sein, die sie liefern können. Sie sollten auf die Speichernutzung achten. Für einfache Schlüssel-Wert-Paare ist Memcached speichereffizienter. Wenn Sie Redis-Hashes verwenden, ist Redis speichereffizienter. Hängt vom Anwendungsfall ab. Sie sollten sich um Persistenz und Replikation kümmern, zwei Funktionen, die nur in Redis verfügbar sind. Selbst wenn Ihr Ziel darin besteht, einen Cache zu erstellen, ist es hilfreich, dass Ihre Daten nach einem Upgrade oder einem Neustart noch vorhanden sind. Sie sollten sich Gedanken darüber machen, welche Art von Operationen Sie benötigen. In Redis gibt es viele komplexe Operationen. Selbst wenn man nur den Caching-Anwendungsfall betrachtet, können Sie in einer einzigen Operation oft viel mehr tun, ohne dass die Daten clientseitig verarbeitet werden müssen (manchmal sind viele I/O-Vorgänge erforderlich). Diese Operationen sind oft so schnell wie einfache GET- und SET-Operationen. Wenn Sie also nicht nur GET/SET, sondern komplexere Dinge benötigen, kann Redis sehr hilfreich sein (denken Sie an Timeline-Caching). Ein Netizen übersetzte es wie folgt[1]: Es besteht keine Notwendigkeit, sich zu sehr auf die Leistung zu konzentrieren. Da Redis nur einen einzigen Kern verwendet, Memcached jedoch mehrere Kerne verwenden kann , weist Redis im Vergleich im Durchschnitt eine höhere Leistung als Memcached auf, wenn auf jedem Kern kleine Daten gespeichert werden. Bei Daten über 100 KB ist die Leistung von Memcached besser als die von Redis. Obwohl Redis kürzlich für die Speicherung großer Datenmengen optimiert wurde, ist es Memcached immer noch etwas unterlegen. Abschließend lässt sich sagen, dass die Anzahl der Anfragen pro Sekunde unabhängig von der von Ihnen verwendeten Lösung kein Engpass sein wird. Sie müssen die Speichernutzung im Auge behalten. Bei einfacher Datenspeicherung wie Schlüssel-Wert-Daten weist Memcache eine höhere Speicherauslastungsrate auf. Wenn die Hash-Struktur verwendet wird, ist der Speicherverbrauch von Redis höher. Natürlich hängt das alles vom jeweiligen Anwendungsszenario ab. Wenn Sie auf Datenpersistenz und Master-Slave-Replikation achten müssen, verfügt nur Sie sollten sich um die Operationen kümmern, die Sie benötigen. Redis unterstützt viele komplexe Operationen und selbst wenn man nur die Speichernutzung berücksichtigt, kann man oft viel in einer einzigen Operation erledigen, ohne die Daten in den Client einlesen zu müssen (was viele IO-Operationen erfordern würde). Diese komplexen Vorgänge sind grundsätzlich so schnell wie reine GET- und POST-Vorgänge, daher spielt Redis eine große Rolle, wenn Sie mehr Vorgänge als nur GET/SET benötigen. Die Wahl zwischen beiden hängt vom jeweiligen Anwendungsszenario ab. Wenn die zwischenzuspeichernden Daten eine einfache Struktur wie Schlüssel-Wert sind, verwende ich in meinem Projekt immer noch Memcache, das stabil und zuverlässig genug ist. Wenn eine Reihe komplexer Vorgänge wie Speichern und Sortieren erforderlich sind, ist Redis zweifellos die richtige Wahl. Bezüglich der Unterschiede zwischen Redis und Memcache sind hier einige relevante Aussagen zur Dokumentation: Die Unterschiede zwischen Redis und Memecache sind [2]: 1. Speichermethode: Zusammenfassend lässt sich sagen: Wählen Sie für Anwendungen mit Persistenzanforderungen oder erweiterten Anforderungen an die Datenstruktur und -verarbeitung Redis und für andere einfache Schlüssel-/Wertspeicher Memcache. Dies ist das Ende dieses Artikels über den Vergleich zwischen Redis und Memcache und die Auswahl. Weitere relevante Vergleichsinhalte zwischen Redis und Memcache finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! |
<<: Probleme beim Laden und Blockieren von JavaScript-Dateien: Fallstudie zur Leistungsoptimierung
>>: Spezifische Methode zum Löschen des MySQL-Dienstes
yum oder rpm? Die Yum-Installationsmethode ist se...
Als ich zum ersten Mal eine MySQL-FUNKTION schrie...
Inhaltsverzeichnis Vorwort WebSocket verwenden Er...
Vorwort Ich bin einmal auf ein schwieriges Proble...
Vorwort Teilen Sie zwei Methoden, um zu überwache...
Inhaltsverzeichnis Vorwort 1. NJS-Modul installie...
#docker ps-Check, alle Ports sind zugeordnet CONT...
Inhaltsverzeichnis Hörer 1.Uhreneffekt 2.Uhr 1.1 ...
Mit beiden Methoden kann ein JavaScript-Code nach...
*Seite erstellen: zwei Eingabefelder und ein Butt...
Trennung von statischer und dynamischer Dynamisch...
1. Gehen Sie zur offiziellen GraphVis-Website, um...
Inhaltsverzeichnis brauchen Kernidee Zwei Möglich...
Win10 + Ubuntu 20.04 LTS Dual-System-Installation...
Umsetzungsideen Erstellen Sie zunächst einen über...