转载自:https://blog.youkuaiyun.com/javafance/article/details/81437729
pool.getConnection没有回调.
NodeJS中使用mysql连接池
function query(sql, sqlParams, callback) {
pool.getConnection(function (err, conn) {
if (err) {
callback(err, null, null);
} else {
conn.query(sql, sqlParams, function (qerr, vals, fields) {
callback(qerr, vals, fields);
});
}
// conn.release(); // not work!!!
pool.releaseConnection(conn);
});
};
exports.init = function (config) {
pool = mysql.createPool({
host: config.HOST,
user: config.USER,
password: config.PSWD,
database: config.DB,
port: config.PORT,
});
};
神坑:
并发访问时,通过conn.release()释放连接死活不成功,导致一定访问达到连接数上限后,pool.getConnection直接卡死没有任何的回调!
改成pool.releaseConnection(conn)才okay!
PS: 可以通过以下命令查看当前的mysql连接数:
mysqladmin -uroot -proot processlist
---------------------
作者:santi
来源:优快云
原文:https://blog.youkuaiyun.com/javafance/article/details/81437729
版权声明:本文为博主原创文章,转载请附上博文链接!