Sử dụng nhóm kết nối mysql. Nó sẽ kết nối lại khi kết nối ngừng hoạt động và bạn nhận được lợi ích bổ sung là có thể thực hiện nhiều truy vấn sql cùng một lúc. Nếu bạn không sử dụng nhóm cơ sở dữ liệu, ứng dụng của bạn sẽ chặn các yêu cầu cơ sở dữ liệu trong khi đợi các yêu cầu cơ sở dữ liệu hiện đang chạy kết thúc.
Tôi thường xác định một mô-đun cơ sở dữ liệu nơi tôi giữ các truy vấn của mình tách biệt với các tuyến của tôi. Nó trông giống như thế này ...
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);
});
});
});