如何解决NodeJS MySQL2-我应该处理池断开连接吗?
我在NodeJS项目中使用mysql2模块。
我了解mysql2模块中数据库池的概念
(https://www.npmjs.com/package/mysql2)。
在使用池之前,我使用了与mysql2.createConnection()函数的常规连接, 但是一段时间后,我出现了'PROTOCOL_CONNECTION_LOST'错误。
我的代码是:
db.js:
const mysql = require('mysql2');
const pool = mysql.createPool({
host: 'sql server',user: 'username',database: 'database',password: 'pass',port: 3306,connectionLimit: 10,queueLimit: 0
});
module.exports = pool;
我如何使用它:
const db = require('db');
db.query(...);
池实例上的query()和execute()函数自动调用池实例的release()函数,这非常好(因为在任何查询后我都不需要手动编写该命令)。
但是我需要了解:如果我那样工作(有游泳池,而不是没有游泳池),那将有一个保证人 'PROTOCOL_CONNECTION_LOST'是否会被抛出?我应该处理该问题还是由池化机制自动完成?
我问是因为我在互联网上看到了一些代码,例如,重新创建了连接。 使用pool,我需要在某个时间重新创建连接吗?
非常感谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。