2 Stimmen

Ist es eine gute Idee, mysql-Verbindungen statisch zu machen?

Ich arbeite an einem mittelgroßen (wahrscheinlich) PHP-System, bei dem überall in verschiedenen Dateien MySQL-Verbindungen geöffnet und in globale Variablen umgewandelt wurden, auf die die später eingebundenen Skripte Zugriff haben. Da ich ein weiteres Modul erstelle, möchte ich globale Variablen vermeiden und die gleiche MySQL-Verbindung für jede Seitenanforderung beibehalten. Meine derzeitige Lösung ist diese:

Class Db {
        static public $dbConnectionArray = array();
}

Bei jeder Anfrage würden die Verbindungen in einem statischen Array gespeichert und zu einem späteren Zeitpunkt wieder aufgerufen werden. Was könnte Ihrer Meinung nach schiefgehen? Und warum?

Ich würde gerne einige Meinungen darüber hören, wie man dies am besten in Angriff nimmt, da ich gerne die Anzahl der geöffneten Verbindungen pro Skriptlauf reduzieren würde (derzeit rief eine Seitenanforderung etwa 6-15 mysql-Verbindungen zu mindestens 3 verschiedenen Datenbanken auf).

0voto

aporat Punkte 5862

Sie müssen das Rad nicht neu erfinden. Sie können persistente Verbindungen von mysql verwenden, um Verbindungen aufrechtzuerhalten. (http://php.net/manual/en/function.mysql-pconnect.php)

Durch die Verwendung persistenter Verbindungen können Ihre PHP-Skripte dieselben Datenbankverbindungen wiederverwenden (solange der Datenbankname und die Anmeldeinformationen gleich sind).

Wenn sich Ihre Datenbanken auf demselben Host befinden, sollten Sie außerdem in der Lage sein, dieselbe mysql-Verbindung zu verwenden, indem Sie mysql_select_db() Funktion.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X