赞
踩
HiKariCP (opens new window)是数据库连接池的一个后起之秀,号称性能最好,可以完美地 PK 掉其他连接池。Hikari(ひかり[shi ga li]) 来自日文,是 光 的意思,这个产品的口号是 快速、简单、可靠。总得来说,它是一个高性能的 JDBC 连接池,基于 BoneCP 做了不少的改进和优化,就连 BoneCP 作者放弃维护,在Github 项目主页推荐大家使用 HikariCP。(BoneCP 在快速这个特点上做到了极致,例如是C3P0的25倍左右)
HiKariCP 从 Spring Boot 2.x 后纳入为默认的数据连接池。
属性 | 默认值 | 说明 |
---|---|---|
autoCommit | true | 自动提交从池中返回的连接 |
connectionTimeout | 30000 | 等待来自池的连接的最大毫秒数 |
maxLifetime | 1800000 | 池中连接最长生命周期如果不等于0且小于30秒则会被重置回30分钟 |
minimumIdle | 10 | 池中维护的最小空闲连接数 minIdle<0或者minIdle>maxPoolSize,则被重置为maxPoolSize |
maximumPoolSize | 10 | 池中最大连接数,包括闲置和使用中的连接 |
metricRegistry | null | 连接池的用户定义名称,主要出现在日志记录和JMX管理控制台中以识别池和池配置 |
healthCheckRegistry | null | 报告当前健康信息 |
poolName | HikariPool-1 | 连接池的用户定义名称,主要出现在日志记录和JMX管理控制台中以识别池和池配置 |
idleTimeout | 是允许连接在连接池中空闲的最长时间 |
建议:
<!-- 主要增加 HikariCP 依赖 -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<exclusions>
<!-- 排除 tomcat-jdbc 以使用 HikariCP -->
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
spring:
#配置数据源
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_wego?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&useUnicode=true
username: root
password: root
hikari:
# 是允许连接在连接池中空闲的最长时间
minimum-idle: 5
# 是允许连接在连接池中空闲的最长时间(以毫秒为单位)
idle-timeout: 600000
# 配置最大池大小
maximum-pool-size: 10
# 配置从池返回的连接的默认自动提交行为。默认值为true
auto-commit: true
# 连接池的名称
pool-name: MyHikariCP
# 池中连接关闭后的最长生命周期(以毫秒为单位)
max-lifetime: 1800000
# 是客户端等待连接池连接的最大毫秒数
connection-timeout: 30000
# 开启连接监测泄露
leak-detection-threshold: 5000
# 测试连接数据库
connection-test-query: SELECT 1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。