介绍

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

来源维基百科

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

创建连接池

创建连接池的配置方式和创建连接的方式相同
但是也有几个 独有的配置
其他配置

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();

nodejs的mysql模块学习(六)连接池的创建和使用的更多相关文章

  1. nodejs的mysql模块学习(十)连接池集群配置选项

    连接池集群选项 canRetry : 如果true ,连接池集群会在连接失败时尝试连接 默认true removeNodeErrorCount : 如果连接失败,节点的errCount增加.当erro ...

  2. nodejs的mysql模块学习(九)连接池集群

    连接池集群 连接池集群可以提供多个主机连接 创建连接池集群 //创建连接池集群 var poolCluster = mysql.createPoolCluster(); //添加配置 config是一 ...

  3. nodejs的mysql模块学习(七)连接池事件

    连接池事件 connection 当建立连接的时候就会触发 pool.on('connection' function(connection){ connection.query('SET SESSI ...

  4. nodejs的mysql模块学习(八)关闭连接池

    关闭连接池 可以用pool.end()关闭连接池 pool.end(function (err) { // 所有的连接都已经被关闭 }); 当关闭之后pool将不可以getconnection()

  5. Nodejs的mysql模块学习(一)

    介绍 mysql npm包 是一个nodejs的模块,由JavaScript编写 安装 npm install mysql 建立连接 var mysql = require('mysql');//引用 ...

  6. nodejs的mysql模块学习(二)连接数据库

    nodejs连接mysql的方式有两种 官方建议的第一种是 let mysql = require('mysql'); let connection = mysql.createConnection( ...

  7. nodejs的mysql模块学习(五)数据库连接配置之SSL

    SSL选项 在SSL连接选项中需要一个字符串 或者对象 当是字符串的时候 将使用预定义的SSL配置文件 "Amazon RDS" 只有这一个预定义配置文件 用来连接到亚马逊RDS服 ...

  8. nodejs的mysql模块学习(三)数据库连接配置选项详解

    连接选项 当在创建数据连接的时候 第一种大多数人用的方法 let mysql = require('mysql'); let connection = mysql.createConnection({ ...

  9. nodejs的mysql模块学习笔记(结合业务)

    1. 包官网地址 https://www.npmjs.com/package/mysql#install https://www.oschina.net/translate/node-mysql-tu ...

随机推荐

  1. What's Exposure?

    [What's Exposure?] ISO:即相机的感光度.ISO数值的大小是DC对光线反应的敏感程度测量值,通常以ISO数值表示,数值越大表示对光线的敏感性越强,数值越小表示越弱,是控制曝光量的一 ...

  2. 安装glibc2.7

    参考链接http://fhqdddddd.blog.163.com/blog/static/18699154201401722649441/ /lib/libc.so.6: version `glib ...

  3. 服务器之间建立oracle之间的关联语句

    create public database link DBLINK_WZGTAMS CONNECT TO WZGTAMS identified by WZGTAMS using ' (DESCRIP ...

  4. Remove Duplicates from Sorted List @LeetCode

    /** * Remove Duplicates from Sorted List * * Given a sorted linked list, delete all duplicates such ...

  5. mysql中间件研究(Atlas,cobar,TDDL)

    mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...

  6. fastreport for .net 数据邦定

    C# Code: private void button4_Click(object sender, EventArgs e){   //打印主从表数据    string file = Applic ...

  7. Django官方文档学习1——第一个helloworld页面

    Django 1.10官方文档:https://docs.djangoproject.com/en/1.10/intro/tutorial01/ 1.查看django版本 python -m djan ...

  8. Active Low-Pass Filter Design 低通滤波器设计

    2nd order RC Low-pass Filter Center frequency    fc = 23405.13869[Hz] Q factor                  Q = ...

  9. Hex-Rays Decompiler Tips and tricks Volatile memory

    https://www.hex-rays.com/products/decompiler/manual/tricks.shtml First of all, read the troubleshoot ...

  10. javascript实现继承的方式

    this this表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window: 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用. 我们还可以使用a ...