`
chenguanwei2008
  • 浏览: 121137 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

数据库连接池

阅读更多

    传统的数据库连接:通过DriverManager获得数据库连接对象,每个数据库连接对象都对应一个物理数据库连接,每次操作都打开一个连接,使用完后又都关闭连接。频繁的打开、关闭连接造成系统的性能低下。

    使用数据库连接池进行连接:当应用程序启动时,系统主动地建立足够数量的数据库连接,并将这些连接组成一个连接池。每当应用程序请求数据库连接时,不再重新打开连接,而是从连接池中取出已有的连接使用,使用完后,也不关闭数据库连接,而是直接将连接归还给连接池。相比传统的数据库连接,性能得到了明显的提升。

    连接池的分配与释放:

    设置空闲池,将尚未分配的连接放入空闲池中。每当用户请求连接是,系统首先检查空闲池内是否存在空闲连接。如果有,则分配建立时间最长的连接给用户;分配之前,需要先检查连接的有效性,如果连接已经失效,就删除该连接,然后考虑使用下一个连接。如果空闲池中没有找到连接,则判断连接池中的连接是否达到上限。如果没有达到,则新建一个连接给用户;如果已经达到上限,则将用户放入等待队列中,一旦有连接被释放,则将该连接分配给等待队列中的第一个用户;如果等待超时,则返回空值。系统对已分配出去的连接,不再维护其有效性,只计数,当使用完成之后再将其返还给空闲池。对于空闲池连接的有效性检查,可以专门开辟一个线程定时检测,这样做会加大系统的开销,但是能保证后期的响应速度;也可以只在分配连接之前进行有效性检查。

    连接池的实现:实现连接池类和连接池管理类。

    连接池类功能:

        1、从连接池中获取或者创建可用的连接。

        2、使用完毕后将连接返还给连接池。

        3、在系统退出之前,断开所有连接并释放嗦占用的系统资源。

        4、处理无效连接。

        5、限制连接池中的连接数不低于最小连接数且不超过最大连接数。

    连接池管理类(采用单态模式)功能:

        1、注册数据库驱动程序。

        2、根据配置文件,创建连接池对象。

        3、命名连接池,管理连接池。

        4、跟踪连接池的使用,以便需要时关闭连接并释放资源。

    常见的数据库连接池:

        1、由商业应用服务器实现。

        2、开源的连接池:

            DBCP连接池

            C3P0连接池 

 

分享到:
评论

相关推荐

    C#高效数据库连接池源码

    数据库连接池是数据库管理中的重要概念,特别是在高并发和大数据量的应用场景下,它能显著提升性能并降低系统资源消耗。在C#编程环境中,我们可以使用自定义的数据库连接池来实现这一功能。本篇文章将深入探讨“C#...

    数据库连接池技术详解

    对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术。某一应用最大可用数据库连接数的限制,避免某一应用独占所有数据库资源。 在较为完备的数据库连接池实现中,可根据...

    C# 数据库连接池 C# 数据库连接池

    数据库连接池是数据库管理中的一个重要概念,它在C#编程中扮演着优化数据库操作的关键角色。C#数据库连接池是一种管理数据库连接的技术,通过复用已存在的连接而不是每次请求时都创建新的连接,从而提高数据库操作的...

    常用jdbc数据库连接jar包,数据库连接池jar包

    本资源集合了常用的JDBC数据库连接jar包,以及一些知名的数据库连接池实现,如dbcp和c3p0,这对于开发人员来说是非常宝贵的资源。 首先,让我们了解一下JDBC。JDBC提供了一套标准的API,包括接口和类,使得开发者...

    03-数据库连接池驱动_数据库连接池;驱动_

    数据库连接池是现代应用程序开发中的重要组成部分,尤其是在处理大量数据交互的应用中,它极大地提高了数据库操作的效率和系统的稳定性。本资源"03-数据库连接池驱动"包含了三种常用的数据库连接池驱动:C3P0、Druid...

    c# mysql数据库连接池实现

    本文将深入探讨如何在C#中使用MySQL数据库连接池。 首先,我们需要了解什么是数据库连接池。数据库连接池是一种资源管理技术,它预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,使用完毕...

Global site tag (gtag.js) - Google Analytics