Node.js的+ mysql的连接池
我试图找出如何构建我的应用程序使用MySQL最efficent方式。我使用的节点mysql的模块。这里的其他线程建议使用连接池,所以我成立了一个小模块mysql.js
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
现在,每当我想查询mysql的我需要这个模块,然后查询DATABSE
var mysql = require('../db/mysql').pool;
var test = function(req, res) {
mysql.getConnection(function(err, conn){
conn.query("select * from users", function(err, rows) {
res.json(rows);
})
})
}
这是好办法?我真的无法找到使用MySQL连接太多的例子,除了非常简单的,一切都是在主做app.js剧本,所以我真的不知道有什么约定/最佳实践。
我就应该总是每次查询后使用connection.end()?如果我忘了这件事的地方?
如何重写我的MySQL模块只返回一个连接的出口部分,所以我没有的getConnection()每次写?
回答如下:这是一个很好的办法。
如果你只是想获得一个连接下面的代码添加到模块:其中池是:
var getConnection = function(callback) {
pool.getConnection(function(err, connection) {
callback(err, connection);
});
};
module.exports = getConnection;
你仍然需要每次都写的getConnection。但是你可以在第一时间你得到它保存在模块中的连接。
不要忘了断开连接,当您使用它来完成:
connection.release();
Node.js的+ mysql的连接池
我试图找出如何构建我的应用程序使用MySQL最efficent方式。我使用的节点mysql的模块。这里的其他线程建议使用连接池,所以我成立了一个小模块mysql.js
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
现在,每当我想查询mysql的我需要这个模块,然后查询DATABSE
var mysql = require('../db/mysql').pool;
var test = function(req, res) {
mysql.getConnection(function(err, conn){
conn.query("select * from users", function(err, rows) {
res.json(rows);
})
})
}
这是好办法?我真的无法找到使用MySQL连接太多的例子,除了非常简单的,一切都是在主做app.js剧本,所以我真的不知道有什么约定/最佳实践。
我就应该总是每次查询后使用connection.end()?如果我忘了这件事的地方?
如何重写我的MySQL模块只返回一个连接的出口部分,所以我没有的getConnection()每次写?
回答如下:这是一个很好的办法。
如果你只是想获得一个连接下面的代码添加到模块:其中池是:
var getConnection = function(callback) {
pool.getConnection(function(err, connection) {
callback(err, connection);
});
};
module.exports = getConnection;
你仍然需要每次都写的getConnection。但是你可以在第一时间你得到它保存在模块中的连接。
不要忘了断开连接,当您使用它来完成:
connection.release();