Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso utilizzare le stesse connessioni MySQL per l'intera app Node.js?

Puoi creare un modulo separato, chiamalo mysqlLib.js che sarà responsabile della creazione di un pool e della restituzione delle connessioni:

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);
  });
};

e in qualsiasi modulo/file che necessita di una connessione mysql, puoi farlo:

var mysqlLib = require("mysqlLib");

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

Il modo in cui require() funziona, il codice in mysqlLib.js verrà eseguito solo una volta, quindi verrà creato un solo pool anche se require("mysqlLib.js"} viene chiamato in più file. Vedi questa sezione dei documenti node.js per una spiegazione della memorizzazione nella cache dei moduli.