当前位置: 首页 > news >正文

Nodejs数据库单一连接模式和连接池模式的概述及写法

概述

单一连接模式和连接池模式是数据库连接的两种主要方式:

单一连接模式:

  • 优点:实现简单,适合小型应用
  • 缺点:每次请求都需要创建新连接,连接创建和销毁开销大,并发性能差,容易出现连接泄露

连接池模式:

  • 优点:预先创建多个连接并复用,减少连接创建和销毁的开销,提高并发性能,自动管理连接生命周期
  • 缺点:需要额外的内存维护连接池,配置相对复杂
    在生产环境中,特别是并发请求较多的情况下,强烈建议使用连接池模式,可以显著提升应用性能和稳定性。

下面是这两种不同模式的写法

单一连接模式:

const mysql = require('mysql2');const db = mysql.createConnection({host: process.env.DB_HOST,user: process.env.DB_USER,password: process.env.DB_PASSWORD,database: process.env.DB_NAME
});db.connect((err) => {if (err) {console.error('数据库连接失败:', err);return;}console.log('成功连接到数据库');
});module.exports = db;

连接池模式:

// config/db.js
const mysql = require('mysql2');const pool = mysql.createPool({host: process.env.DB_HOST,user: process.env.DB_USER,password: process.env.DB_PASSWORD,database: process.env.DB_NAME,waitForConnections: true,connectionLimit: 10,queueLimit: 0,enableKeepAlive: true,keepAliveInitialDelay: 0
});// 测试连接池
pool.getConnection((err, connection) => {if (err) {console.error('数据库连接池初始化失败:', err);return;}console.log('数据库连接池初始化成功');connection.release();
});// 优雅关闭连接池
process.on('SIGINT', () => {pool.end(err => {if (err) {console.error('关闭连接池时发生错误:', err);} else {console.log('数据库连接池已关闭');}process.exit(err ? 1 : 0);});
});module.exports = pool.promise();

配置参数:

  • 最大连接数限制为10
  • 启用连接等待机制
  • 开启keepAlive保持连接活跃

相关文章:

  • Meteonorm8-免费使用教程(详细教程-免费)
  • RK3506-rtlinux
  • Linux系统之部署TestNet资产管理系统
  • 豆瓣图书数据采集与可视化分析(一)- 豆瓣图书数据爬取
  • 【DT】USB通讯失败记录
  • 整流二极管详解:原理、作用、应用与选型要点
  • Replicate Python client
  • AUTOSAR图解==>AUTOSAR_SWS_EFXLibrary
  • fragment 异常 InstantiationException
  • 数据结构实验6.2:稀疏矩阵的基本运算
  • C++ STL 环形队列模拟实现
  • 解决Windows update服务启动拒绝访问的问题 | wuauserv 注册表拒绝访问的方法
  • CF148D Bag of mice
  • M|触碰你
  • [Android] 豆包爱学v4.5.0小学到研究生 题目Ai解析
  • 四月下旬系列
  • 在VMware Workstation 17 Pro上实现Windows与UOS虚拟机之间复制粘贴文本及文件
  • MySQL——事务
  • Linux中的软件管理
  • 【刷题Day20】TCP和UDP(浅)
  • 魔都眼|上海半马鸣枪:白金标运动员、“箱根之子”齐参赛
  • 义乌女老板对CNN霸气喊话:美国要货就给,不要就分给其他客户
  • 大理州工业投资(集团)有限公司党委副书记、副总经理赵云接受审查调查
  • 明查|美军“杜鲁门”号航空母舰遭胡塞武装打击已退役?
  • 财政部:一季度证券交易印花税411亿元,同比增长60.6%
  • 浙江金华一副镇长被指殴打村民,镇党委称仍在调查核实