Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verwende ich dieselbe(n) MySQL-Verbindung(en) für meine gesamte Node.js-App?

Sie können ein separates Modul erstellen, nennen Sie es mysqlLib.js der für die Erstellung eines Pools und die Rückgabe von Verbindungen verantwortlich ist:

var mysql = require("mysql");
var pool = mysql.createPool(/* credentials go here */);

exports.getConnection = function(callback) {
  pool.getConnection(function(err, conn) {
    if(err) {
      return callback(err);
    }
    callback(err, conn);
  });
};

und in jedem Modul/Datei, das eine MySQL-Verbindung benötigt, können Sie Folgendes tun:

var mysqlLib = require("mysqlLib");

mysqlLib.getConnection(function(err, mclient) {
  //do queries that you need
});

Die Art und Weise require() funktioniert, der Code in mysqlLib.js wird nur einmal ausgeführt, sodass nur ein Pool erstellt wird, selbst wenn require("mysqlLib.js"} wird in mehreren Dateien aufgerufen. Siehe diesen Abschnitt der node.js-Dokumentation für eine Erläuterung des Modul-Caching.