gpt4 book ai didi

node.js - nodejs自动关闭mysql连接的方法

转载 作者:搜寻专家 更新时间:2023-10-31 23:42:55 25 4
gpt4 key购买 nike

目前我的进程挂起,因为 mysql 池没有自动关闭。

我假设当我调用 connection.release() 时,如果没有其他人使用它,连接将关闭。但似乎并非如此。我的代码如下所示:

getConnection.js:

var mysql = require('mysql');

var pool = mysql.createPool({
connectionLimit : 10,
host : 'localhost',
user : 'root',
password : 'mysql',
database : 'xxx'
});

module.exports = function getConnection(callback){
pool.getConnection(function(err, connection){
if (err) {
throw err;
}
callback(connection);
});
}

我是这样使用它的:

var getConn = require('./getConnection');

function selectOne(query, map, cb){

getConn(function(conn){
conn.query(query, map, function(err, rows){
if (err) {
throw err;
}

cb(rows.length ? rows[0] : false);
conn.release();
});
});
}

我想我错过了什么。 node-mysql 不是应该在我释放的时候帮我关闭连接吗?

最佳答案

来自 https://github.com/felixge/node-mysql#pooling-connections conn.release(); 允许将连接释放到连接池,这样就不会关闭它。如果您想关闭连接,请根据文档使用 conn.end();:https://github.com/felixge/node-mysql#terminating-connections .

关于node.js - nodejs自动关闭mysql连接的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24368852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com