我有一个nodejs应用程序连接到mysql当我离开连接打开服务器关闭它,当我使用con.destroy或con.end我不能重新连接到mysql。
我应该怎么做,是不是更好地保持关闭和意见,为每个请求新的连接知道会有很多。
module.exports = class DataAccessLayer {
constructor() {
this.con = mysql.createConnection({
host: ("host.com"),
user: ("asdfg"),
password: ("zxcvb"),
database: ("DB_example")
});
this.con.connect(function (err) {
if (err) throw err;
console.log("Connected to DB");
});
}
getUserBySenderId(senderId) {
this.con.query("SELECT sender_id,first_name,last_name,creation_date " +
"FROM USER " +
"WHERE sender_id = '" + senderId + "'",
function (err, result, fields) {
if (err) throw err;
console.log(result);
});
}
3条答案
按热度按时间dly7yett1#
在每个请求上创建和断开数据库连接将降低每个请求的响应时间,从而影响总体性能。您应该考虑使用https://www.npmjs.com/package/mysql#pooling-连接。连接池将应用程序与诸如服务器由于缺少活动而终止空闲连接之类的情况隔离开来。
j13ufse22#
zte4gxcn3#
对于您的问题,您可以访问此文档https://www.npmjs.com/package/mysql#pooling-连接。
而不是每次一次又一次地对mysql进行查询。还需要记住什么时候关闭连接,什么时候打开是一个相当麻烦的任务。你可以使用sequelizehttp://docs.sequelizejs.com/ (orm)。这将帮助您摆脱所有这些痛苦,并让您专注于业务逻辑,而不是出现技术错误。
谢谢!