目录

数据库连接池的工作原理

目录

​ 数据库连接是一种非常珍贵且有限的资源,尤其是在多用户的网络应用环境中更是如此。对于数据库连接管理的好坏会直接影响整个系统的性能:

  1. 建立与数据库的连接是一个耗时的操作,在页面响应中,如果每次用户请求都需要建立新的数据库连接,那么响应时间就会很长,会严重影响用户的体验‘;
  2. 数据库的连接个数是有限制的,如果管理不好用户经常建立连接却忘记释放连接,运行时间久了,数据库的连接资源就会耗尽,当有新用户需要访问数据库时,就需要等很长时间,直到有用户释放连接资源才能访问数据,这对系统的可用性有着严重的影响。

因此管理好数据库的连接资源对应用系统尤其是页面应用系统是非常重要的。

​ 数据库连接池负责分配、管理并释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再建立一个新的连接,同时他还负责释放空闲时间超过最大空闲时间的数据库连接,避免因为没有释放数据库连接而引起数据库连接资源遗漏。

​ 在J2EE中,服务器在启动时会创建一定数量的连接,并维持不少于次数目的连接池,当客户程序需要访问数据库时,就可以直接从池中获取与数据库的连接(获取一个空闲的连接),而不用去创建一个新的连接,同时将该链接状态标记为忙状态。当使用完毕后再把该连接标记为空闲状态,这样其他用户就可以重复使用这个连接了。

​ 如果当前没有空闲连接,那么服务器就会根据配置参数在池中创建一定数量的连接。

​ 采用这种方法对数据库连接进行管理后可以大幅度缩短用户的响应时间,提高运行效率。

​ 另一方面,为了提高数据库操作的性能,数据库连接池会释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。