zoukankan      html  css  js  c++  java
  • 【知了堂学习笔记】--关于对Node.js访问数据库连接池的理解与简单的建立---@wan<

    是什么数据库连接池

    官方解释:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

    个人理解:数据库连接池是用户请求与数据库之间的一个缓存区,因为在但是当对数据库请求较多的情况下,频繁的创建、关闭连接,将会严重降低数据库与服务器的性能,这时候就需要一个缓存区来减轻数据库与服务器的负担。

     直接访问数据库

     简单的数据库请求 每次访问就新建一个连接 用完关闭

    使用连接池

    程序初始的时候创建连接池

    请求进来 通过连接池来响应返回数据给请求 

    请求使用完毕,将连接返回给连接池

    退出程序时,断开连接释放资源

    使用连接池可以帮助我们更好的管理数据库连接

     这里我们对于建立数据库的连接池代码如下:

    const dbpool={
        //配置数据库
        config: {
            host: "主机名",
            port: "端口号",
            user: "数据库用户名",
            password: "数据库密码",
            database: "数据库名"
        
        },
        dbConnection: function (sqlstr, sqlArr, fn){
            //创建连接池,传入config,返回链接对象
            let pool=mysql.createPool(this.config);
            // 获取链接对象
            pool.getConnection(function(err,connection){
                if(err){
                    console.log(connection)
                }
                // 发送query
                connection.query(sqlstr, sqlArr, fn);
                //关闭链接
                connection.release();
            })
        }
    }
    //将dbpool公开出来
    module.exports = dbpool;

    这是个人对于Node.js使用连接池的理解和简单的建立连接池的方法,有不足之处,欢迎大佬指点

  • 相关阅读:
    Shared Memory in Windows NT
    Layered Memory Management in Win32
    软件项目管理的75条建议
    Load pdbs when you need it
    Stray pointer 野指针
    About the Rebase and Bind operation in the production of software
    About "Serious Error: No RTTI Data"
    Realizing 4 GB of Address Space[MSDN]
    [bbk4397] 第1集 第一章 AMS介绍
    [bbk3204] 第67集 Chapter 17Monitoring and Detecting Lock Contention(00)
  • 原文地址:https://www.cnblogs.com/wan-c/p/8283901.html
Copyright © 2011-2022 走看看