【HikariCP】【数据库连接池常见参数】

Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCP

数据库连接池常见参数

无论用什么数据库连接池,在配置数据库的时候还需要配置一大堆连接池参数,在Hikari的源码中也有很多的设置参数,那么每一个参数的实际意义是什么提前学习一下很有必要。我之前都是按照网上或者是其他项目的配置文件复制一下直接拿来用,也没有真正思考过这些参数代表的实际意义。所以写一个学习笔记,如有问题请帮忙指出,谢谢。

必须参数

url、driver-class-name、username、password这四个值是最常见的需要配置的参数,也是使用jdbc时至少需要配置的参数。

  1. url

url就是数据库的访问地址,不同的数据库访问地址格式也是不一样。

//mysql,端口默认3306
jdbc:mysql://machine_ip:port/dbname

//sqlserver,端口默认1433
jdbc:microsoft:sqlserver://<machine_ip><:port>;DatabaseName=<dbname>

//oracle,默认端口1521
jdbc:oracle:thin:@machine_ip:port:dbname
  1. driver-class-name

数据库驱动类,已经有了jdbc的规范,但是每一个数据库厂家的具体实现是不一样的,所以需要他们提供的驱动类来真正使用数据库

//mysql5
com.mysql.jdbc.Driver
//mysql6 PS:如果6中使用5的驱动,会抛出异常
com.mysql.cj.jdbc.Driver
//sqlserver
com.microsoft.jdbc.sqlserver.SQLServerDriver 
//oracle
oracle.jdbc.OracleDriver
  1. username、password

这是连接数据库的账号和密码

Hikari常见参数

参数描述默认值
autocommit是否自动提交事务true
connectionTimeout连接超时时间(毫秒)
如果在没有连接可用的情况下等待超过此时间,则抛出 SQLException
最小值为250毫秒
30000(30秒)
idleTimeout空闲超时时间(毫秒)
只有在minimumIdle < maximumPoolSize时生效,超时的连接可能被回收
数值 0 表示空闲连接永不从池中删除
源码中0的时候超时时间为Integer的最大值,即2^31-1
最小值10000毫秒(10秒)
600000(10分钟)
maxLifetime连接池中的连接的最长生命周期(毫秒)
数值 0 表示不限制
HikariCP 强烈建议我们设置此值,并且比数据库设置的连接时间的值小几秒钟
1800000(30分钟)
connectionTestQuery连接池每分配一条连接前执行的查询语句(如:SELECT 1),以验证该连接是否是有效的
如果你的驱动程序支持 JDBC4,HikariCP 强烈建议我们不要设置此属性
-
minimumIdle最小空闲连接数
HikariCP 建议我们不要设置此值,而是充当固定大小的连接池
与maximumPoolSize数值相同
maximumPoolSize连接池中可同时连接的最大连接数
当池中没有空闲连接可用时,就会阻塞直到超出connectionTimeout设定的数值
10
metricRegistry此属性只能通过编程或者IOC容器获取
此属性允许您指定池使用的Codahale / Dropwizard MetricRegistry的实例来记录各种度量标准
-
healthCheckRegistry此属性只能通过编程或者IOC容器获取
此属性允许您指定池使用的Codahale / Dropwizard HealthCheckRegistry的实例来报告当前的健康信息
-
poolName连接池名称,主要用于显示在日志记录和 JMX 管理控制台中自动生成
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值