springboot2.0连接池Hikari和Druid优缺点

本文介绍了Hikari和Druid数据库连接池的优点。Hikari通过字节码精简、优化代理等方式减少CPU资源,提高并发读写效率。Druid除提供连接池功能外,还集成SQL监控、黑名单拦截,有filter - chain模式扩展api,可监控性能、加密密码、记录日志等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hikari优点:
1:字节码精简:优化的代码,编译后的字节码最少,减少了CPU的资源
2:优化代理和拦截器:减少代码
3:自定义数组类型(FastStatememntList)代替ArrayList:避免每次get()调用都是进行range check,避免调用remove()时的从头到尾的扫码(由于连接的特点是获取连接的先释放)
4:自定义集合类型(concurrentBag:提高并发读写的效率)
5:其他针对BoneCP缺陷的优化:比如对耗时超过一个CPU时间片的方法调用的研究
Druid优点:
Druid提供了性能卓越的连接池功能外,还集成了SQL监控,黑名单拦截功能。
Druid提供的监控功能,可以清楚的知道连接池和SQL的工作情况;
1:可以监控SQL的执行时间、resultSet持有时间、返回行数、更新行数、错误次数、错误堆栈信息;
2:SQL执行的耗时区间分布
3:监控连接池的物理连接创建和销毁次数、逻辑连接的身躯和关闭次数、非空等待次数、pscache命中率
Druid提供了filter-chain模式的扩展api,可以自己编写filter拦截jdbc的任何方法,可以在上面做任何事情,比如性能监控,SQL审计,用户名密码加密,日志
Druid集合了开源和商业数据库连接池的优秀特性,并结合阿里巴巴大规模苛刻生产环境的使用经验进行优化
1、替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。

2、可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。

3、数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。

4、SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。

5、扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter机制,很方便编写JDBC层的扩展插件。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值