Warum kann der Memcached-Cache eine hohe gleichzeitige Lese- und Schreibgeschwindigkeit unterstützen?
1. Multiplex-I/O-Modell
Beim herkömmlichen I/O wartet das System möglicherweise, bis die I/O-Verbindung eines Benutzers bereit ist Wenn der Server nicht erreichbar ist, erhalten sie aufgrund einer Systemüberlastung keine Antwort.
Das Multiplex-I/O-Modell ist ein Nachrichtenbenachrichtigungsmodus. Nachdem der Benutzer für die I/O-Verbindung bereit ist, benachrichtigt uns das System, dass die Verbindung für die I/O bereit ist, sodass sie nicht blockiert wird Die Verbindung eines Benutzers, weshalb memcached sie unterstützt
Hohe gleichzeitige Lese- und Schreibgeschwindigkeit
2. Multithreading-Modell
Das Multithreading-Modell ist unterteilt in:
Haupt-Thread: main Akzeptieren Sie die Client-Verbindung, übertragen Sie die Verbindung in die CQ-Warteschlange des Sub-Threads und benachrichtigen Sie den Sub-Thread, dass eine Client-Verbindung verarbeitet werden muss
Untergeordneter Thread: Nach Erhalt der Benachrichtigung wird der Sub-Thread gesendet -thread entfernt die Verbindung aus der CQ-Warteschlange und registriert sich bei libevent, um die Lese- und Schreibvorgänge des Clients zu überwachen
Bitte laden Sie den Quellcode hoch, wenn Sie Zeit haben!
Das Obige stellt den Ausführungsprozess des Memcached-Caching vor, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.