框架建设收集spring boot

Spring Boot 2.+的默认连接池HikariCP详解

2019-06-06  本文已影响0人  AC编程

一、Spring Boot 2.+默认连接池HikariCP

如果是Spring Boot2.+,那么默认的连接池就是Hikaricp,不需要再另外导入包和配置,怎么证明?启动项目,可以看到控制台

启动信息HikariPool 启动信息HikariDataSource

我们在控制台看到了

HikariPool-1 - Starting...
HikariPool-1 - Start completed

Located MBean 'dataSource': registering with JMX server as MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource]

说明Spring Boot 2.+默认使用的就是连接池HikariCP

二、调整连接池参数

HikariCP连接池提供了默认值,如果有需要也可以在配置文件里进行调整参数

spring:
  ########-spring datasource-########
  datasource:
     #账号配置
     url: jdbc:mysql://127.0.0.1:3306/retail_db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
     username: ENC(5raHicqGiQ1nEXKO+R9ykYwJUrD/+nbx)
     password: ENC(1NiRLG1lUkzLSg3uerUwU0bIRCDYiZnX)
     driver-class-name: com.mysql.cj.jdbc.Driver

     #hikari数据库连接池
     hikari:
      pool-name: Retail_HikariCP
      minimum-idle: 5 #最小空闲连接数量
      idle-timeout: 180000 #空闲连接存活最大时间,默认600000(10分钟)
      maximum-pool-size: 10 #连接池最大连接数,默认是10
      auto-commit: true  #此属性控制从池返回的连接的默认自动提交行为,默认值:true
      max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
      connection-timeout: 30000 #数据库连接超时时间,默认30秒,即30000
      connection-test-query: SELECT 1

三、HikariCP连接池速度快于其他连接池的原因

四、HiKariCP和Druid对比

我们所熟知的C3P0,DBCP,Druid, HiKariCP为我们所常用的数据库连接池,其中C3P0已经很久没有更新了。DBCP更新速度很慢,基本处于不活跃状态,而Druid和HikariCP处于活跃状态的更新中,这就是我们说的二代产品了。

HiKariCP

Druid

总的来说:
1、HiKariCP性能比Druid高
2、HiKariCP是Spring Boot 2+官方支持,和Spring Boot兼容性更好
3、Druid的优势是监控完善,扩展性更好(但拦截过多也会增加框架复杂度以及框架性能)

具体选HiKariCP或Druid视团队具体需求而定,提供Druid的用法 : Spring Boot 使用Druid连接池整合Mybatis-Plus连接Mysql数据库

参考文章

上一篇 下一篇

猜你喜欢

热点阅读