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

    文章

    3596

    浏览量

    63436
收藏 人收藏

    评论

    相关推荐

    霍尔开关的工作原理及应用

    霍尔开关的工作原理及应用
    的头像 发表于 04-09 10:29 344次阅读
    霍尔开关的<b class='flag-5'>工作原理</b>及应用

    拨码开关工作原理

    等。本文将详细介绍拨码开关的工作原理、结构特点以及应用场景。 一、拨码开关的工作原理 拨码开关的工作原理基于机械接触和电气连接的原理。拨码开关内部由一组金属接触片组成,每个接触片对应一
    的头像 发表于 04-07 15:01 414次阅读
    拨码开关<b class='flag-5'>工作原理</b>

    555集成芯片的工作原理

    555集成芯片的工作原理主要基于其内部电路结构和外部连接电路的共同作用。
    的头像 发表于 03-19 15:46 748次阅读

    SIM卡座三选二连接器的工作原理

    器的应用越来越广泛。这种连接器以其独特的优势,已经深入到我们日常使用的智能设备以及工业产品的各方面。下面连欣为大家普及下下SIM卡座三选二连接器的工作原理。 首先,我们这种连接器采用了
    的头像 发表于 03-15 16:48 261次阅读
    SIM卡座三选二<b class='flag-5'>连接</b>器的<b class='flag-5'>工作原理</b>

    什么是Socket连接?Socket的工作原理 它与TCP连接有什么关系?

    什么是Socket连接?Socket的工作原理 它与TCP连接有什么关系? Socket连接是一种网络连接,用于在计算机网络中的两个节点之间
    的头像 发表于 01-22 16:10 455次阅读

    晶振的工作原理

    晶振的工作原理
    的头像 发表于 12-08 17:32 625次阅读
    晶振的<b class='flag-5'>工作原理</b>

    锁存器的工作原理

    锁存器的工作原理  锁存器(latch)是一种用于存储和记忆数字信号的电路。它被广泛用于计算机和数字电子电路中,用于实现内存存储、寄存器和其他计算单元。 锁存器的工作原理是通过反馈电路和放大
    的头像 发表于 12-08 11:18 2860次阅读

    地线的工作原理

    地线的工作原理  地线是电力系统中非常重要的一部分,它起着保护人身安全和设备正常工作的作用。本文将详细介绍地线的工作原理,包括地线的定义、作用、类型、布置和接地原理等内容,以期全面了解地线的
    的头像 发表于 12-07 11:37 2203次阅读

    MySQL与Redis数据库连接池应用

    一、概念 数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接
    的头像 发表于 11-10 16:40 259次阅读
    MySQL与Redis数据库<b class='flag-5'>连接池</b>应用

    了解连接池、线程池、内存池、异步请求池

    后可被重复使用像常见的线程池、内存池、连接池、对象池都具有以上的共同特点。 连接池 什么是数据库连接池 定义:数据库连接池(Connection pooling)是程序启动时建立足够的
    的头像 发表于 11-09 14:44 291次阅读
    了解<b class='flag-5'>连接池</b>、线程池、内存池、异步请求池

    滚珠丝杆的工作原理是什么?

    滚珠丝杆的工作原理是什么?
    的头像 发表于 10-17 17:43 946次阅读
    滚珠丝杆的<b class='flag-5'>工作原理</b>是什么?

    励磁工作原理

      励磁工作原理是指在电磁设备中通过外加电流或磁场来增强设备中的磁场强度的过程。在电磁设备中,励磁是非常重要的步骤,它能够保证设备正常运行,并实现设备的预期功能。本文将从基本概念、工作原理和应用方面介绍励磁工作原理
    的头像 发表于 09-27 11:03 1993次阅读

    称重传感器的工作原理是什么?称重传感器与PLC如何连接使用?

    【导读】称重传感器应用非常广泛。那么,它是什么工作原理、如何去和PLC连接呢?
    的头像 发表于 07-20 11:21 2220次阅读
    称重传感器的<b class='flag-5'>工作原理</b>是什么?称重传感器与PLC如何<b class='flag-5'>连接</b>使用?

    德索为您讲解高压连接器的工作原理

    高压连接器的工作原理是通过将电力或信号从一个设备传输到另一个设备,同时保持电路的完整性和稳定性。当两个连接器插入并连接在一起时,导体之间建立了电流或信号的通路。绝缘材料确保电力或信号在
    的头像 发表于 07-11 14:12 780次阅读
    德索为您讲解高压<b class='flag-5'>连接</b>器的<b class='flag-5'>工作原理</b>

    PCB的基本原理和工作原理是怎么样的?

    PCB原理指的是印刷电路板(Printed Circuit Board)的基本原理和工作原理。PCB是一种将电子元件、导线和其他电路组件布局在预定位置并通过导线连接的基板。PCB提供了电气连接、机械
    发表于 06-15 14:32