数据库连接池

简介: 1.思想 连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用

1.思想

连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。

综上,它的好处是显而易见的。将负责与数据库连接的模块独立出来,方便维护。通过数据库连接池作为中转站,避免了对数据库服务端频繁的连接与断开操作,减少资源占用,获得更快的响应时间。

2.常用框架

c3p0,详见http://blog.csdn.net/chuchus/article/details/45744401

tomcatJDBC连接池,详见http://blog.csdn.net/chuchus/article/details/45152901

3.常见配置参数

不管哪种框架,常见的配置参数都是一致的。

用户名。
密码。
DB连接串。
JDBC-Driver。
最小连接数。

验证语句
需要验证一个connection是否有效。可以配为"select 1"。
取连接时是否验证
DBServer可能主动断开一个connection,所以可以取之前验证一下。这个参数也可以为false,由空闲验证保证connection有效。
是否空闲时验证
定时对队列中的connection进行验证。
验证间隔
空闲时验证的时间间隔。

目录
相关文章
|
7月前
|
SQL 网络协议 数据库连接
什么是数据库连接池?为什么需要数据库连接池呢?
什么是数据库连接池?为什么需要数据库连接池呢?
|
网络协议 关系型数据库 MySQL
实现数据库连接池
实现数据库连接池
135 0
|
11天前
|
数据库连接 数据库
数据库连接池
数据库连接池的根本原理其实并不复杂,其原理就是服务器提前准备好一组可以使用的数据库连接,当客户端的请求到达时,如果数据库连接池里有空闲连接的话,就取出一个空闲连接进行数据库操作,如果已没有空闲连接就进入等待。通过这样的数据库连接复用,可以在很大程度上提高服务器的性能,并减轻数据库的负担。
|
2月前
|
SQL 监控 Java
C3P0数据库连接池
C3P0数据库连接池
|
7月前
|
SQL druid Java
Driud数据库连接池的使用
Driud数据库连接池的使用
85 0
|
6月前
|
SQL 缓存 关系型数据库
数据库连接池到底应该设多大?
数据库连接池到底应该设多大?
307 0
|
7月前
|
Java 关系型数据库 MySQL
数据库连接池的实现
数据库连接池的实现
|
Java 关系型数据库 应用服务中间件
数据库连接池对比
数据库连接池对比
|
Java 数据库连接 数据库
一篇文章学会学会c3p0数据库连接池~
一篇文章学会学会c3p0数据库连接池~
272 0
|
SQL 缓存 监控
数据库连接池 BoneCP、HikariCP 等
数据库连接池 BoneCP、HikariCP 等
252 0