Heim > Backend-Entwicklung > PHP-Problem > Verfügt PHP über einen Datenbankverbindungspool?

Verfügt PHP über einen Datenbankverbindungspool?

王林
Freigeben: 2023-02-26 07:24:02
Original
5381 Leute haben es durchsucht

Verfügt PHP über einen Datenbankverbindungspool?

php-cp (php-connect-pool) ist ein Datenbankverbindungspool, der mit der PHP-Erweiterung geschrieben wurde.

1 Es unterscheidet sich von anderen Open-Source-Datenbank-Middleware-Produkten auf dem Markt

1. Es ist keine separate Bereitstellung erforderlich von Middleware Ein Cluster ist ein Proxy-Prozess, der auf einem Anwendungsserver ausgeführt wird, wodurch eine Ebene externer Abhängigkeiten reduziert wird und die Architektur einfacher, sauberer und zuverlässiger wird.

2. Es hat eine höhere Leistung und reduziert eine Netzwerkübertragung. Es kommuniziert mit dem PHP-Prozess über einen effizienten IPC und vermeidet den Verbrauch von Protokollanalysen.

3. Unterstützt Redis und MySQL gleichzeitig, es ist nicht erforderlich, zwei separate Middleware-Systeme bereitzustellen.

2. Einfaches schematisches Diagramm

Verfügt PHP über einen Datenbankverbindungspool?

3 >

1. Unterstützen Sie die Konfiguration der maximalen und minimalen Anzahl von Verbindungen.

2. Unterstützt die automatische Wiederherstellungsverbindung mit niedrigem Druck (Stärke und Frequenz sind konfigurierbar).

3. Unterstützen Sie einen reibungslosen Neustart.

4. Unterstützung des Warteschlangenmechanismus bei Verbindungserschöpfung.

5. Unterstützt sowohl MySQL als auch Redis.

6. Nach der einfachen Integration des Frameworks (Änderung der neuen Methode) kann das bestehende Unternehmen den Verbindungspool nutzen, ohne eine einzige Codezeile zu ändern.

7. Die Funktion get_disable_list wird bereitgestellt, um eine Liste nicht verfügbarer Downtime-IPs zu erhalten, sodass der Lastausgleich auch auf dem Client durchgeführt werden kann (machen Sie einen Unterschied zwischen allen IPs in der Konfigurationsdatei und der Downtime-IP, und dann zufällig Can).

Übrigens: Sie können auch lvs verwenden, aber die lvs-Weiterleitung führt zu Abhängigkeiten von der Systemarchitektur. Der DR-Modus kann keine Netzwerksegmente überschreiten und die Erweiterung einschränken Kennen Sie den VIP von lvs.

8. Der Verbindungspoolprozess startet den Ping-Prozess, um die Ausfallzeitliste zu überwachen. Dies wird im Rückgabewert der Funktion get_disable_list angezeigt Es wurden Optimierungen vorgenommen, obwohl die Anforderung durch den Verbindungspoolprozess weitergeleitet wird, aber grundsätzlich kein QPS-Verlust auftritt.

4. So verwenden Sie

1. Platzieren Sie die Datei pool.ini in /etc/ und ändern Sie die darin enthaltene Konfiguration nach Bedarf.

2. Starten Sie den Agentenprozess

./pool_server start
Nach dem Login kopieren

Unterstützen Sie den Befehl „Start“, „Stopp“, „Neustart“ und „Neu laden“

3. Ändern Sie das PHP-Skript

$db = new PDO(xxxxx);
修改成  $db = new pdo_connect_pool(xxxx);//dont use persistent
$redis = new Redis();
修改成 $redis = new redis_connect_pool();//dont use pconnect
Nach dem Login kopieren

Tipp:

Rufen Sie $db/$redis->release() so schnell wie möglich auf, um die von diesem Prozess belegten Verbindungen im Pool freizugeben.

Empfohlenes Tutorial:

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonVerfügt PHP über einen Datenbankverbindungspool?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage