Druid 不仅仅是一个数据库连接池
目前我已将现有项目中的数据库连接池全部更换为 Druid,下面我们看一下Druid相关内容。
Druid是什么?
Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。
Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。
同时Druid不仅仅是一个数据库连接池,它包括四个部分:
Druid是一个JDBC组件,它包括四个部分:
DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
DruidDataSource 高效可管理的数据库连接池。
SQLParser
Druid可以做什么?
- 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
- 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
- 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
- SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
- 扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter机制,很方便编写JDBC层的扩展插件。
DBCP更换为Druid.
- 之前项目中数据库连接池用的为DBCP,现在更换为Druid配置也非常方便:
从DBCP迁移到DruidDataSource,只需要修改数据源的实现类就可以了。
DBCP的数据库连接池的实现是:
org.apache.commons.dbcp.BasicDataSource
替换为:
com.alibaba.druid.pool.DruidDataSource
如果需要使用Druid的其他配置,可以参考http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=2916406
配置如下:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property value="${jdbc_url}" name="url"></property> <property value="${jdbc_user}" name="username"></property> <property value="${jdbc_password}" name="password"></property> <property value="stat" name="filters"></property> <property value="20" name="maxActive"></property> <property value="1" name="initialSize"></property> <property value="60000" name="maxWait"></property> <property value="1" name="minIdle"></property> <property value="60000" name="timeBetweenEvictionRunsMillis"></property> <property value="300000" name="minEvictableIdleTimeMillis"></property> <property value="SELECT 'x'" name="validationQuery"></property> <property value="true" name="testWhileIdle"></property> <property value="false" name="testOnBorrow"></property> <property value="false" name="testOnReturn"></property> <property value="true" name="poolPreparedStatements"></property> <property value="20" name="maxPoolPreparedStatementPerConnectionSize"></property> </bean>
更多资料详见:http://code.alibabatech.com/wiki/display/Druid/Home
Druid 不仅仅是一个数据库连接池相关推荐
- c3p0,DBCP,Druid(德鲁伊)数据库连接池
c3p0,DBCP,Druid(德鲁伊)数据库连接池 每博一文案 佛说:前世 500 次的回眸,才换来今生的一次擦肩而过. 人与人之间的缘分,真的无需强求,并不是所有的感情都能天长地久,正如<越 ...
- Druid(德鲁伊)数据库连接池
文章目录 前言 一.Druid(德鲁伊)数据库连接池 1.1.Druid的介绍 1.1.Druid使用 总结 前言 **我们为什么要使用数据库连接池了?是为解决传统开发中的数据库连接问题,所以采用 ...
- C# 线程手册 第三章 使用线程 实现一个数据库连接池(实战篇)
在企业级软件开发过程中,为了改善应用程序的性能需要通常使用对象池来控制对象的实例化.例如,在我们每次需要连接一个数据库时都需要创建一个数据库连接,而数据库连接是非常昂贵的对象.所以,为了节省为每次数据 ...
- Spring Boot使用hikari、druid、c3p0等数据库连接池详解
文章目录 前言 Hikari连接池 Druid连接池 Druid(新版starter)连接池 C3P0连接池(1 C3P0连接池(2 扩展 前言 截至Spring Boot V2.0为止,官方仅为下列 ...
- druid最大连接数oracle,性能超过DRUID的最强数据库连接池——HikariCP相关配置及简单示例...
在配置application.yml时,对hikari的配置会有这样一个字段validationQuery. validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一 ...
- 每日一皮:看图猜一个数据库连接池!
留言说答案,看看你猜对了吗? 往期推荐 每日一皮:老大爷,您保持年轻的秘诀是什么 每日一皮:发现程序员经常熬夜有三个弊端! 每日一皮:自己运行正常,测试一测就有bug 每日一皮:程序员最讨厌的四件事! ...
- Java中几个主流的数据库连接池
池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...
- 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明
转载自 常用数据库连接池 (DBCP.c3p0.Druid) 配置说明 1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的 ...
- 【张小平工作日志】DBCP、c3p0、Druid、Proxool数据库连接池比较
定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问 ...
最新文章
- 客服团队OKR怎么写?看最新客服OKR模板
- fix issues
- 2013年3月空调类品牌网络知名度排名
- Centos 7 安装NodeJS开发环境
- Windows下配置R-FCN
- cocos2d-x游戏开发(七)对象释放时机
- 什么是 CAS 机制
- DUMP文件分析6:简单的堆破坏示例
- svn差异查看器 编码_男女学习编码的9个差异
- unity3d 取锚点位置_周三手机课实时共享位置,方便朋友找到见面地点
- 201671010114 2016-2017-2 《Java程序设计》学习总结
- python编写排列组合,密码生产功能
- MacBook Pro 16英寸样机模型正面视图psd素材
- 2016级算法期末模拟练习赛-E.AlvinZH的青春记忆III
- Opencores 无法点击submit的问题解决方案
- 列表,元组,字典,集合类型变量相关内置函数详解
- linux中bond网卡是什么意思,linux 网卡bond
- GPS经纬度坐标转换的方法
- 日历插件(项目总结)(包括mobiscroll.js LCalendar 和Calendar这三个日历插件)
- 主板电池(华硕主板,电池是KTS的)问题导致电脑无法启动
热门文章
- mysql服务器级别角色_服务器数据库系列 - MySQL事务隔离级别详解
- 暂停 CSS @keyframes 动画
- 搭建一个企业级的Vue工程!
- ue4蓝图碰撞检测的类型_UE4_自定义相机碰撞组件
- ajax没效果,ajax没有效果
- oracle按照时间点回退,【Oracle】查看事务回滚的时间
- php 设置 最大内存,修改PHP的memory_limit限制的方法分享
- 自考那些事儿(九):再次学操作系统
- 本田公布104小时驾驶行为数据集:时间不长但胜在全面 | 附相关资源汇总
- 科大讯飞回应“同传造假”:承认转写人类同传,沟通不足造成误解