Nodejs 数据库连接池generic-pool

梦里梦外; 2022-08-08 06:26 452阅读 0赞

generic-pool数据库连接池支持mysql、mongodb、redis等数据库

安装generic-pool模块

npm install generic-poll —save

创建mysql数据库的连接池:

  1. // 通用数据库连接池,支持众多数据库 var generic = require('generic-pool');
  2. // 导入mysq模块,创建数据库连接需要 var mysql = require('mysql');
  3. // 创建mysql连接池 var mysqlPool = generic.Pool({ 'name': 'mysql-pool', // 连接池名称 'max': 100, // 最大连接数 'min': 5, // 最小连接数 'idleTimeoutMillis ': 30 * 1000,// 空闲等待时间 'log': false, // 是否console.log输出日志 // 创建连接方法 'create': function (callback) { console.log('pool.mysql.create--->') var conn = mysql.createConnection({ 'host': '127.0.0.1', 'port': 3306, 'user': 'root', 'password': 'mysqladmin', 'database': 'ajax', 'connectTimeout': 1 // 'charset':'utf-8', }); conn.connect(); // 回调,第一个参数为错误对象,第二个为连接 callback(null, conn); }, // 销毁方法 'destroy': function (conn) { console.log('pool.mysql.destroy--->') conn.end(); } });
  4. 这样mysql数据库连接池就创建好了
  5. // 使用mysql连接池 // 使用acquire方法取得池中连接 // 回调中第一个参数错误对象,第二个为连接对象 mysqlPool.acquire(function (err, conn) {
  6. if (err) {
  7. return console.log('连接出错:' + err)
  8. }
  9. var sql = "SELECT * FROM area LIMIT 5";
  10. conn.query(sql, function (err, rows, fileds) {
  11. if (err) {
  12. return console.log('查询出错:' + err)
  13. }
  14. console.log('mysql查询:')
  15. console.log(rows) // 释放连接,使用连接池对象的release方法传入连接对象即可
  16. mysqlPool.release(conn);
  17. }) })

发表评论

表情:
评论列表 (有 0 条评论,452人围观)

还没有评论,来说两句吧...

相关阅读