Hikari连接池
spring:
datasource:
## Hikari 连接池配置 ------ 详细配置请访问:https://github.com/brettwooldridge/HikariCP
## 最小空闲连接数量
#hikari:
# 空闲连接的最大数量
#minimum-idle: 5
# 空闲连接存活最大时间,默认600000(10分钟)
#idle-timeout: 180000
# 连接池的最大连接数量,超过最大空闲连接的数量之后,经过上面的idle-timeout后连接数量会恢复到minimum-idle
#maximum-pool-size: 10
#connection 事务自动提交,默认就是true
#auto-commit: true
# 连接池名称
#pool-name: myHikaricp
# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟,为了防止连接雪崩,通常设置的比数据库的闲置时间小几秒
#max-lifetime: 1800000
# 连接mysql最大超时时间
#connection-timeout: 30000
#connection-test-query: select 1
# 在test 连接是否可用的时候的最大时间,默认500ms,最少 250ms
#validation-timeout: 500
url: jdbc:mysql://127.0.0.1:3306/quanxian?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true
username: XXXX
password: XXXX
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 5
idle-timeout: 180000
maximum-pool-size: 10
auto-commit: true
pool-name: myHikaricp
max-lifetime: 180000
connection-timeout: 30000
connection-test-query: select 1
validation-timeout: 500
那么,这么好的CP是怎么做到的呢?官网详细地说明了HikariCP所做的一些优化,总结如下:
字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码;
优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码,只有BoneCP的十分之一;
自定义数组类型(FastStatementList)代替ArrayList:避免每次get()调用都要进行range check,避免调用remove()时的从头到尾的扫描;
自定义集合类型(ConcurrentBag):提高并发读写的效率;
本文来自博客园,作者:余生请多指教ANT,转载请注明原文链接:https://www.cnblogs.com/wangbiaohistory/p/16183098.html

浙公网安备 33010602011771号