连接池简介
来源:互联网 发布:java是面向对象的吗 编辑:程序博客网 时间:2024/06/07 01:58
数据库连接是很宝贵的资源,这一点在多用户的网页应用程序中体现得非常明显。对数据库连接的管理能显著提升整个应用程序的性能指标。
数据库连接池的任务是分配、管理和释放数据库连接,连接池允许在应用程序中重复使用一个现有的数据库连接,而不再需要重新建立一个。连接池通过释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
连接池的基本思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,准备为下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等,也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。
常用的数据库连接池有:
DBCP:
DBCP (DatabaseConnection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。
c3p0:
C3p0是一个开源的JDBC连接池,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。
Druid:
Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了c3p0、DBCP、PROXOOL等连接池的优点,同时加入了日志监控,可以很好地监控数据库池连接和SQL的执行情况,在官网上被称为“为监控而生的数据库连接池”。
三种连接池的功能比较如表所示。
功能
DBCP
Druid
c3p0
是否支持PSCache
是
是
是
监控
jmx
jmx/log/http
jmx/log
扩展性
弱
好
弱
sql拦截及解析
无
支持
无
代码
简单
中等
复杂
特点
依赖于common-pool
阿里开源,功能全面
历史久远,代码逻辑复杂,且不易维护
- 连接池简介
- 连接池简介
- 连接池简介
- 连接池简介
- 事务和连接池简介
- HttpClient4.0 Http连接池技术简介
- Druid连接池简介和配置
- JDBC连接池、监控组件 Druid简介
- OLEdb连接简介
- 动态连接库简介
- Datagram 连接简介
- Oracle-表连接简介
- SQL外连接简介
- 数据库-连接操作简介
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介
- Apache Commons pool 简介和pool连接池代码
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介
- Socket 长连接与短连接简介
- 设计模式概述
- 正则表达式
- 习惯养成记
- William Stallings 《操作系统内核和设计原理》书中Linux下C语言实现读者写者问题(写者优先)代码
- Java串口编程学习1-环境配置(64位Win7)
- 连接池简介
- HDU5444-二叉树模拟-Elven Postman
- Android-单点触摸-多点触摸
- 循环保存n张图像 Matlab版
- 把exe文件设置为开机启动(win7)
- matlab调用CVX工具包
- JSP EL 表达式 常用
- 点击ul的的item并获取其中的值
- 第二天所用到的代码