起初的做法是创建一个连接然后使用,后来发现一段时间后会出现卡死不响应的情况,只有重启nodejs服务,搜索一番后想到了用连接池,经测试,不再出现卡死不响应情况。
参考链接: https://www.npmjs.com/package/mysqlhttp://blog.csdn.net/lovingshu/article/details/41721233
Node.js mysql连接池模块
1,安装node的mysql模块 npm -install -g node-mysql
2,建立一个类库,就叫mysql_pool.js吧,然后内容如下:
var mysql=require("mysql");
var pool = mysql.createPool({
host: 'localhost',
user: 'user',
password: 'password',
database: 'database',
port: port
});
var query=function(sql,options,callback){
pool.getConnection(function(err,conn){
if(err){
callback(err,null,null);
}else{
conn.query(sql,options,function(err,results,fields){
//释放连接
conn.release();
//事件驱动回调
callback(err,results,fields);
});
}
});
};
module.exports=query;
3,在js类使用如下
var query=require("./lib/mysql_pool");
query("select * from table where id=?", [1], function(err,results,fields){
//do something
});