购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 HikariCP连接池

2.5.1 HikariCP概述

HikariCP是数据库连接池,而且号称史上最快的。在Spring Boot2.0版本中,由于HikariCP提供了卓越的性能,默认数据库池技术已从Tomcat Pool切换到HikariCP。spring-boot-starter-jdbc和spring-boot-starter-data-jpa默认解析HikariCP依赖,spring.datasource.type属性将HikariDataSource作为默认值。

HikariCP为什么这么快,主要原因有以下几点:

(1)代码量非常小

对于连接池来讲,代码越少,占用CPU和内存越少,Bug出现概率也就越小,执行率高。这就是为什么HikariCP受欢迎的原因之一。

(2)稳定性,可靠性强

HikariCP经受了市场的考验。

(3)速度快

优化并精简了字节码,可以更好地并发集合类实现ConcurrentBag,使用FastList替代ArrayList等。

2.5.2 HikariCP的使用

如果我们使用的是Spring Boot2.0或者之后的版本,不需要单独在pom.xml文件中引入HikariCP依赖,因为默认情况下spring-boot-starter-jdbc或者spring-boot-starter-data-jpa会依赖进来。

对于Hikari连接池的配置,可通过使用spring.datasource.type并在application.properties文件中为其分配连接池实现的完全限定名称来启用它,如下所示:

如果使用的是Spring Boot2.0及以上版本,Spring Boot会使用HikariDataSource作为默认选择,不需要配置上面的行。

要配置Hikari特定的连接池设置,Spring Boot提供了spring.datasource.hikari.*在application.properties文件中使用的前缀。我们将在这里讨论一些常用的配置。

(1)connectionTimeout

connectionTimeout是客户端等待连接池连接的最大毫秒数,需要将其配置如下:

(2)minimumIdle

minimumIdle是HikariCP在连接池中维护的最小空闲连接数,它配置如下:

(3)maximumPoolSize

maximumPoolSize配置最大池大小,它配置如下:

(4)idleTimeout

idleTimeout是允许连接在连接池中空闲的最长时间(以毫秒为单位),它配置如下:

(5)maxLifetime

maxLifetime是池中连接关闭后的最长生命周期(以毫秒为单位),它配置如下:

(6)autoCommit

autoCommit配置从池中返回的连接的默认自动提交行为,默认值为true:

完整的配置示例如下:

本节只是简单地介绍了HikariCP的基础知识,其具体使用与Druid连接池类似。 fJhUsk5qnAHW6vutCDHH8iXQdUuq6WtT1orI1eJ2uuWAGWM2C37VIhOyOP0Z3onN

点击中间区域
呼出菜单
上一章
目录
下一章
×