【发布时间】:2017-11-26 05:34:40
【问题描述】:
我认为我的连接没有被正确释放。有时我会收到一条错误消息,指出我的池已达到其限制。此外,有时随机访问数据库需要 15 秒以上。每当我使用pool._allConnections.length 检查正在使用的连接数时,它永远不会返回超过 60 的任何内容。这是我的代码:
const mysql = require('mysql');
const config = require('./config.json');
const pool = mysql.createPool({
connectionLimit : 999,
host: config.host,
user: config.user,
password: config.password,
database: config.database
});
const db = (() => {
_query = (query, params, callback) => {
pool.getConnection((err, connection) => {
if (err) {
callback(null, err);
} else {
connection.query(query, params, (err, rows) => {
connection.release();
if (!err) {
callback(rows);
} else {
callback(null, err);
}
});
}
});
};
return {
query: _query
};
})();
module.exports = db;
【问题讨论】:
标签: javascript mysql node.js node-mysql