Swoole MySQL Proxy, ein von Swoole entwickelter MySQL-Datenbankverbindungspool basierend auf dem MySQL-Protokoll.
Prinzip
Speichern Sie die Datenbankverbindung als Objekt im Speicher, wenn der Benutzer auf die Datenbank zugreifen muss Anstatt eine neue Verbindung aufzubauen, wird ein eingerichtetes, inaktives Verbindungsobjekt aus dem Verbindungspool entnommen. Nach der Verwendung schließt der Benutzer die Verbindung nicht, sondern stellt sie für die nächste Anfrage wieder in den Verbindungspool zurück. Der Verbindungsaufbau und -abbau wird vom Verbindungspool selbst verwaltet.
Gleichzeitig können Sie auch die anfängliche Anzahl der Verbindungen im Verbindungspool, die Ober- und Untergrenze der Anzahl der Verbindungen, die maximale Anzahl der Verwendungen jeder Verbindung, die maximale Leerlaufzeit usw. steuern. usw. durch Festlegen der Parameter des Verbindungspools. Es kann auch die Anzahl, Nutzung usw. von Datenbankverbindungen über seinen eigenen Verwaltungsmechanismus überwachen. Wenn die maximale Anzahl von Verbindungen überschritten wird, wird die Coroutine angehalten und fortgesetzt, bis eine Verbindung geschlossen wird, um den Vorgang fortzusetzen.
Funktionen
-Unterstützung der Lese- und Schreibtrennung
-Unterstützung des Datenbankverbindungspools, der den durch PHP verursachten Datenbankverbindungsengpass effektiv lösen kann
-Unterstützung des SQL92-Standards
-Übernahme der Coroutine-Planung
-Unterstützung mehrerer Datenbankverbindungen, mehrerer Datenbanken, mehrerer Benutzer, flexible Kombination
-Entspricht dem nativen MySQL-Protokoll , sprach- und plattformübergreifender universeller Middleware-Agent
-Unterstützt MySQL-Transaktionen
-Unterstützt die HandshakeV10-Protokollversion
-Perfekt kompatibel mit MySQL4.1 - 8.0
-Kompatibel mit den wichtigsten Frameworks, verbessert nahtlos die Leistung
Ursprüngliche Designabsicht
PHP verfügt nicht über einen Verbindungspool, sodass die Datenbank währenddessen voller Verbindungen ist Hohe Parallelität, Mycat und andere Datenbank-Middleware führen dazu, dass einige SQL-Anweisungen unbrauchbar werden. Beispielsweise wird das Hinzufügen von Stapeln nicht unterstützt und ist zu aufgebläht. Deshalb habe ich diese leichte Middleware geschrieben, die nur Verbindungspooling und Lese-Schreib-Trennung unterstützt. Durch die Verwendung der Swoole-Coroutine-Planung und der HandshakeV10-Protokollweiterleitung ist es nicht erforderlich, alle SQL-Paketkörper wie Mycat zu analysieren, was die Komplexität erhöht.
Empfohlenes Tutorial: „MySQL-Tutorial“http://www.php.cn/course/list/51.html
Das obige ist der detaillierte Inhalt vonMySQL-Datenbankverbindungspool SMProxy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!