sql >> Base de Datos >  >> RDS >> Mysql

Node.js MySQL que necesita una conexión persistente

Utilice el grupo de conexiones mysql. Se volverá a conectar cuando una conexión falle y obtendrá el beneficio adicional de poder realizar múltiples consultas SQL al mismo tiempo. Si no usa el grupo de base de datos, su aplicación bloqueará las solicitudes de base de datos mientras espera que finalicen las solicitudes de base de datos que se están ejecutando actualmente.

Normalmente defino un módulo de base de datos donde mantengo mis consultas separadas de mis rutas. Se parece a esto...

var mysql = require('mysql');
var pool  = mysql.createPool({
  host     : 'example.org',
  user     : 'bob',
  password : 'secret'
});

exports.getUsers = function(callback) {
  pool.getConnection(function(err, connection) {
    if(err) { 
      console.log(err); 
      callback(true); 
      return; 
    }
    var sql = "SELECT id,name FROM users";
    connection.query(sql, [], function(err, results) {
      connection.release(); // always put connection back in pool after last query
      if(err) { 
        console.log(err); 
        callback(true); 
        return; 
      }
      callback(false, results);
    });
  });
});