Druid
yuankaiqiang Lv5

1、简介

​ 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。

2、常用数据库连接池对此

image-20210703100746886

功能dbcpdruidc3p0tomcat-jdbcHikariCP
是否支持PSCache
监控jmxjmx/log/httpjmx,logjmxjmx
扩展性
sql拦截及解析支持
代码简单中等复杂简单简单
更新时间2015.8.62015.10.102015.12.092015.12.3
特点依赖于common-pool阿里开源,功能全面历史久远,代码逻辑复杂,且不易维护优化力度大,功能简单,起源于boneCP
连接池管理LinkedBlockingDeque数组FairBlockingQueuethreadlocal+CopyOnWriteArrayList

3、SpringBoot中使用(含测试代码)

监控页面^1

主要参考^2

语雀代码路径^3

浏览器打开:http://127.0.0.1:8080/druid/login.html,用户名及密码为代码中设置的密码

image-20210703164232261 image-20210703164256753

运行程序时执行创建表的SQL语句,当插入和查询时,也会出现对应的SQL语句的执行情况

image-20210703164505569

同时也可以看到接口的调用情况信息,这里查询所有数据调用了上次,因为上面的查询SQL语句也相应的执行了三次

image-20210703164655295

参考网址

 评论