Der Redis-Quellcode ist in ANSI C-Sprache. Zunächst sollten Sie natürlich mit dem Lesen der Hauptfunktion beginnen. Beim Lesen sollten wir jedoch einen Hauptthread verstehen, nämlich wie der Code Schritt für Schritt ausgeführt wird, wenn wir einen Befehl in Redis eingeben. (Empfohlenes Lernen: Redis-Video-Tutorial)
Auf diese Weise können wir zunächst von außen beobachten und versuchen, einige Befehle auszuführen, nachdem wir die externe Leistung dieser Befehlsausführungen verstanden haben , können wir dann einen Drilldown durchführen und sehen, wie der entsprechende Quellcode implementiert ist. Um diese Codes zu verstehen, müssen wir zunächst den Ereignismechanismus von Redis verstehen.
Sobald wir außerdem den Mechanismus der Ereignisschleife von Redis verstanden haben, werden wir auch eine interessante Frage verstehen: Warum kann Redis in einem einzelnen Thread ausgeführt werden, aber mehrere Anfragen gleichzeitig verarbeiten? (Genau genommen läuft Redis natürlich nicht mit nur einem Thread, sondern neben dem Hauptthread spielen die anderen Threads von Redis nur eine Hilfsrolle. Dabei handelt es sich um Threads, die im Hintergrund ausgeführt werden, um asynchrone zeitaufwändige Aufgaben zu erledigen )
Ausgehend von der Hauptfunktion können wir tatsächlich dem Codeausführungspfad folgen. Beschränken wir den Umfang.
Beginnen Sie mit der Hauptfunktion, folgen Sie dieser Schritt für Schritt und gelangen Sie schließlich zum Ausführungseingang eines beliebigen Redis-Befehls. Alternativ können Sie den Rest der Erkundung auch auf eigene Faust durchführen.
Überblick über den Initialisierungsprozess und die Ereignisschleife
Die Hauptfunktion des Redis-Quellcodes liegt in der Quelldatei server.c. Die Logik nach Beginn der Ausführung der Hauptfunktion kann in zwei Phasen unterteilt werden:
verschiedene Initialisierungen (einschließlich der Initialisierung der Ereignisschleife);
Ausführung der Ereignisschleife .
Diese beiden Ausführungsphasen können durch das folgende Flussdiagramm ausgedrückt werden (klicken Sie, um das Bild zu vergrößern)
Das obige ist der detaillierte Inhalt vonIn welcher Sprache ist der Redis-Quellcode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!