Redis legt alle Daten im Speicher ab. Die Nicht-Datensynchronisierung funktioniert normal. Es ist nicht erforderlich, Daten von der Festplatte zu lesen, 0 E/A-Zeiten. Die Speicherreaktionszeit beträgt etwa 100 Nanosekunden, was eine wichtige Grundlage für die hohe Geschwindigkeit von Redis darstellt.
MySQL ist ein persistenter Speicher, der auf der Festplatte gespeichert ist und eine bestimmte Menge an E/A erfordert. Um diesen Engpass zu beheben, sind Caches erforderlich das heutzutage am häufigsten verwendete (als mc bezeichnet).
Zuerst greift der Benutzer auf mc zu. Wenn dies fehlschlägt, greift er auf MySQL zu und kopiert die Daten in den Redis-Teil von mc. Sowohl mc als auch mc werden zwischengespeichert und im Speicher ausgeführt, was die Zugriffsgeschwindigkeit beim Webzugriff bei hohem Datenvolumen erheblich verbessert. (Empfohlenes Lernen: Redis-Video-Tutorial)
MC bietet jedoch nur einfache Datenstrukturen, wie z. B. String-Speicher; B. String, Liste, Set, Hashset, sortierter Satz usw., machen es für Benutzer viel praktischer. Schließlich kapseln sie eine Ebene praktischer Funktionen und erzielen natürlich den gleichen Effekt. Verwenden Sie natürlich Redis und geben Sie MC langsam auf.
Redis ist Single-Threaded. Durch die Vereinfachung der Implementierung von Algorithmen ist die Implementierung gleichzeitiger Datenstrukturen nicht nur schwierig, sondern auch mühsam zu testen. Zweitens vermeidet ein einzelner Thread den Verbrauch, der durch Thread-Wechsel und Sperren und Freigeben von Sperren verursacht wird. Bei der serverseitigen Entwicklung sind Sperren und Thread-Wechsel normalerweise Leistungskiller. Natürlich hat Single-Threading auch seine Nachteile, was auch der Albtraum von Redis ist: das Blockieren. Wenn die Ausführung eines Befehls zu lange dauert, werden andere Befehle blockiert, was für Redis sehr schwerwiegend ist. Daher ist Redis eine Datenbank für schnelle Ausführungsszenarien.
Redis verwendet Epoll als Implementierung der E/A-Multiplexing-Technologie, und das eigene Ereignisverarbeitungsmodell von Redis wandelt das Lesen, Schreiben, Schließen usw. von Epoll in Ereignisse um, nicht in Netzwerk-E/A. Zu viel Zeitverschwendung. Realisieren Sie die Überwachung mehrerer FD-Lese- und Schreibvorgänge, um die Leistung zu verbessern.
MySQL wird verwendet, um Daten dauerhaft auf der Festplatte zu speichern, was leistungsstark, aber langsam ist
Redis wird verwendet, um häufig verwendete Daten im Cache zu speichern und hat eine schnelle Lesegeschwindigkeit
Weitere technische Artikel zum Thema Redis finden Sie in der Spalte Einführungs-Tutorial zur Verwendung der Redis-Datenbank.
Das obige ist der detaillierte Inhalt vonWarum Redis schneller ist als MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!