您的位置:首页 > 数据库 > MySQL

nodejs的mysql模块学习(六)连接池的创建和使用

2016-12-05 14:58 405 查看

介绍


在 软件工程 , 连接池 是一个 高速缓存 的 数据库连接 维持,使得连接可以当需要将来向数据库请求重复使用。 [ 来源请求 ] 连接池用于提高数据库上执行命令的性能。 打开并保持每个用户的数据库连接,特别请求到动态数据库驱动的制成 网站 应用,是昂贵的和浪费资源。 在连接池中,在创建连接之后,它被放置在池中,并且它被再次使用,使得不必建立新的连接。 如果正在使用所有连接,则会创建一个新连接并将其添加到池中。 连接池也减少了用户必须等待建立到数据库的连接的时间量。


来源维基百科

该组件也提供了创建连接池的方法

创建连接池


创建连接池的配置方式和创建连接的方式相同

但是也有几个 独有的配置

其他配置


acquireTimeout : 获取连接时的超时配置 默认10000
waitForConnection : 在连接池的所有连接没有可用的时候,如果 是true 就让申请连接的排队等待 ,
如果false 则返回一个错误,默认 true
connectionLimit : 一次性建立的最大连接数目  默认为 10
queueLimit: 连接池的最大排队数目 超出报错 如果为0,则没有限制数目,默认为0

创建连接池代码

var mysql = require('mysql');
var pool = mysql = createPool({//创建连接池
host : 'localhost',
user : 'we',
password : 'pass',
database : 'db'
})

获取连接

pool.getConnection(function(err,connection){
connection.query(sql,function(err,rows){//执行sql语句
connection.release();//将连接返回连接池

//做些什么
})
})

将连接释放会连接池

connection.release();

彻底从连接池里删除一个连接

connection.destroy();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: