我正在尝试找出如何构建我的应用程序以最有效地使用 MySQL。我正在使用 node-mysql 模块。这里的其他线程建议使用连接池,所以我设置了一个小模块 mysql.js
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
现在每当我想查询 mysql 时我都需要这个模块,然后查询数据库
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);
})
})
}
这是个好方法吗?除了非常简单的一个(一切都是在主 app.js 脚本中完成的)之外,我真的找不到太多使用 mysql 连接的示例,所以我真的不知道约定/最佳实践是什么。
我应该在每次查询后始终使用connection.end()吗?如果我忘记在某个地方怎么办?
如何重写 mysql 模块的导出部分以仅返回一个连接,这样我就不必每次都编写 getConnection() ?