0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

连接池工作原理

工程师 来源:网络整理 作者:h1654155205.5246 2019-03-22 16:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

连接池工作原理

连接池技术的核心思想是连接复用,通过建立一个数据库连接池以及一套连接使用、分配和管理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。

连接池的工作原理主要由三部分组成,分别为连接池的建立、连接池中连接的使用管理、连接池的关闭。

第一、连接池的建立

一般在系统初始化时,连接池会根据系统配置建立,并在池中创建了几个连接对象,以便使用时能从连接池中获取。连接池中的连接不能随意创建和关闭,这样避免了连接随意建立和关闭造成的系统开销。Java中提供了很多容器类可以方便的构建连接池,例如Vector、Stack等。

第二、连接池的管理

连接池管理策略是连接池机制的核心,连接池内连接的分配和释放对系统的性能有很大的影响。其管理策略是:

当客户请求数据库连接时,首先查看连接池中是否有空闲连接,如果存在空闲连接,则将连接分配给客户使用;如果没有空闲连接,则查看当前所开的连接数是否已经达到最大连接数,如果没达到就重新创建一个连接给请求的客户;如果达到就按设定的最大等待时间进行等待,如果超出最大等待时间,则抛出异常给客户。当客户释放数据库连接时,先判断该连接的引用次数是否超过了规定值,如果超过就从连接池中删除该连接,否则保留为其他客户服务。

该策略保证了数据库连接的有效复用,避免频繁的建立、释放连接所带来的系统资源开销。

第三、连接池的关闭

当应用程序退出时,关闭连接池中所有的连接,释放连接池相关的资源,该过程正好与创建相反。

连接池工作原理

连接池的运作原理

在实际应用开发中,特别是在WEB应用系统中,如果JSP、Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃。数据库连接池技术是解决这个问题最常用的方法,在许多应用程序服务器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了这项技术,无需自己编程,但是,深入了解这项技术是非常必要的。

数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个Vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接,这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。

数据库连接池的主要操作如下:

(1)建立数据库连接池对象(服务器启动)。

(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。

(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。

(4)存取数据库。

(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。

(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    4083

    浏览量

    68538
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    这个电路干啥用的呢?它的工作原理是怎么样?

    很多工程师认为圈起来的这个电路不能工作,我刚开始看到这个电路也是这么认为的!这个圈起来的三极管(PNP)电路到底能不能工作呢,怎么样的工作原理呢?欢迎工程师们在评论区畅所欲言。 APA320-160W+160W.
    发表于 04-15 11:03

    433M无线模块的工作原理和距离

    一、工作原理  433MHz无线模块的工作原理是通过发射器和接收器之间的模拟信号进行无线通信。具体来说,它由发射器和接收器两部分组成,这两部分通过433MHz的模拟信号进行通信。发射器工作原理
    发表于 04-10 14:44

    生产环境数据库连接池耗尽的全流程排查与性能优化实战

    数据库连接池是应用程序与数据库之间的缓存连接组件。连接池在应用程序启动时创建一组数据库连接,应用程序从连接池获取
    的头像 发表于 03-27 15:58 321次阅读

    一文详解透射电镜中的菊衍射

    衍射是透射电镜中连接基础与高阶分析的桥梁。它利用特征线对,为晶体取向测定与衍射条件调控提供纳米级精准导航。本文深度解析菊线机制、几何特征及图谱构建,助您精准掌控倒易空间的“经纬线”。
    的头像 发表于 03-16 15:22 391次阅读
    一文详解透射电镜中的菊<b class='flag-5'>池</b>衍射

    工业连接器在水下工作原理:以凌科连接器为例

    的导电性:纯水不导电,但自然界的水(尤其是海水)含有电解质,渗入后会导致短路、电化学腐蚀。 动态应力:水流冲击、设备振动、温度变化都会破坏密封结构的长期稳定性。 二、核心原理:构建“水下堡垒” 水下连接器的工作原理,本质上就是构建一
    的头像 发表于 03-02 11:20 187次阅读
    工业<b class='flag-5'>连接</b>器在水下<b class='flag-5'>工作原理</b>:以凌科<b class='flag-5'>连接</b>器为例

    Ingress Nginx性能调优配置方案

    瓶颈就暴露出来了——worker 进程数不够、连接池耗尽、SSL 握手吃满 CPU、upstream 超时雪崩。
    的头像 发表于 02-24 11:50 297次阅读

    C语言内存使用

    ,整个堆有可能被弄得支离破碎,最终导致大量内存浪费。 那么这种情况下,我们解决这类问题的思路,就是创建一个内存。 内存,实际上就是我们让程序创建出来的一块额外的缓存区域,如果有需要释放内存,先
    发表于 12-11 07:57

    无线充电器的工作原理核心

    无线充电器的工作原理核心
    的头像 发表于 12-06 10:19 1890次阅读
    无线充电器的<b class='flag-5'>工作原理</b>核心

    知识分享|连接器的工作原理

    工作原理连接器主要由接头、绝缘体和金属触点三部分组成。接头一般由塑料制成,是连接器的主体;绝缘体用于保护连接器,其作用是防止电路之间的耦合、脉冲和静电放电等异常电源;金
    的头像 发表于 08-27 17:30 2293次阅读
    知识分享|<b class='flag-5'>连接</b>器的<b class='flag-5'>工作原理</b>?

    语音控制模块工作原理

    ,才能够发出正确的指令。 语音芯片控制模块是实现 “语音指令 - 设备响应” 的核心组件,其工作原理可拆解为信号采集、处理、识别及指令执行的完整链路,下面将以WTK69000为例给大家分享一下整个流程的工作原理。 一、语音信号采集
    的头像 发表于 06-17 11:49 1677次阅读
    语音控制模块<b class='flag-5'>工作原理</b>

    管道浮力平衡压袋(配重压袋)工作原理

    管道浮力平衡压袋(配重压袋)工作原理
    发表于 06-12 15:09 0次下载

    FLASH的工作原理与应用

    14FLASHFLASH的工作原理与应用OWEIS1什么是FLASH?Flash闪存是一种非易失性半导体存储器,它结合了ROM(只读存储器)和RAM(随机访问存储器)的优点,具有电子可擦除和可编程
    的头像 发表于 05-27 13:10 2396次阅读
    FLASH的<b class='flag-5'>工作原理</b>与应用

    GPIO配置的工作原理是什么?

    我使用 EZ-USB 配置实用程序,我想知道是否有人知道 GPIO 配置的工作原理。 例如,GPIO0 可以用作传感器复位,我知道这个 GPIO0 用于重置传感器,但我不明白的是选项用户 GPIO 例如GPIO 1可以是User GPIO0,这是什么意思呢?
    发表于 05-19 06:56

    云电竞服务器 工作原理

    云电竞服务器工作原理详解 一、核心架构原理 虚拟化资源‌ 通过 ‌KVM/VMware‌ 等虚拟化技术将物理服务器(含NVIDIA GPU集群)抽象为可动态分配的算力资源,每个用户独享独立虚拟机
    的头像 发表于 05-14 07:44 765次阅读
    云电竞服务器 <b class='flag-5'>工作原理</b>

    电动调压器的工作原理

    电压调压器是一种用于控制电路中电压的装置,其工作原理因类型而异,以下是几种常见电压调压器的工作原理
    的头像 发表于 05-12 13:46 1623次阅读
    电动调压器的<b class='flag-5'>工作原理</b>