数据库连接池的原理

来源:互联网 发布:王朝霸域名城 编辑:程序博客网 时间:2024/05/16 07:22
数据库连接池,简称dbcp database connection pool

存在意义:
数据库的连接是非常耗费系统资源的,一个应用通常都是需要与数据库打交道,也就需要经常连接数据库,这样导致浪费大量系统资源;

连接池的原理就是:我事先创建好几个数据库连接放着,当我的系统需要操作数据库时就从连接池里直接拿连接,并将这个连接标记为 忙 ;用完后在放会池中,标记为 空闲;;;

当连接池里的连接都在被使用,如果此时还要连接,连接池就会在创建连接放到池里,,这些连接的数量,都是在配置文件里由你控制的

打开数据库连接是CPU和网络的重要 任务,因此,在整个应用程序的使用过程 当中重复的打开直接连接将导致性能的下降。 而池连接只在服务器启动时打开一次,从而 消除了这种性能问题。 另外,因为连接只用于很短的时间, 所以,连接可以被有效共享, 而且有关连接参数的特有信息, 只对池驱动程序有效, 如数据库用户名称和密码, 从而增强了系统的安全性和可管理性。

通熟易懂就是,连接池就像口井,里面好多水,你需要一个连接就去井里提一桶水一样。不同的是,当你不用了就把水重新放入井中。数据库连接池的基本原理是在内部对象池中维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法。如:外部使用者可通过getConnection 方法获取连接,使用完毕后再通过releaseConnection 方法将连接返回,注意此时连接并没有关闭,而是由连接池管理器回收,并为下一次使用做好准备。

数据库连接数和数据库连接池的连接数区别?

        1、数据库连接数,也就是一个数据库,最多能够同时 接受 多少个 客户的连接.
  2、在没有数据库连接池 的情况下, 一个客户,每次访问, 就要创建一个 数据库连接, 执行 SQL, 获取结果, 然后关闭、释放掉数据库连接,问题就在于创建一个数据库连接, 是一个很消耗资源,花费很多时间的操作,于是数据库连接池产生了。
  3、数据库连接池 预先打开一定数量的数据库连接, 并维持着连接。
  4、当客户要执行SQL语句的时候, 从数据库连接池 里面,获取一个连接,执行SQL, 获取结果, 然后把数据库连接,交还给数据库连接池。
  5、假如一个 session , 执行10次独立的操作,那么不使用 数据库连接池的,需要创建数据库连接10次,并关闭10次。
  6、使用 数据库连接池的,直接使用 数据库连接池中已经打开好的,直接使用。





0 0
原创粉丝点击