Spring HikariCP DB连接池

为什么使用连接池?

  • 数据库连接池的主要作用是预置一定数量的连接, 放到缓冲池中重复使用, 来减轻每次使用数据库时创建连接及销毁连接的性能成本, 由此提升数据库并发能力

HikariCP简介

  • HikariCP是 BoneCP线程池的优化版本, 号称性能最好的, SpringBoot2.X的默认连接池是 HikariCP.

主要特点

  1. 通过 Javassist类库来动态生成字节码, 来简化了字节码
  2. 使用 FastList替代 ArrayList, 优化了获取和移除元素的方法, 来提高了存取数据的性能
  3. 使用 ConcurrentBag无锁集合, 来减少了资源竞争, 由此提高了并发性能

常用配置说明


## 指定数据库驱动包
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
## 指定数据库, 以及时区, 编码类型等
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&serverTimezone=PRC&characterEncoding=utf8&useSSL=false
## 数据库账号
spring.datasource.username=root
## 数据库密码
spring.datasource.password=123456
## 配置类型为 Hikari数据源
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
## 连接池名字, 默认值是 HikariPool-1
spring.datasource.hikari.pool-name=MyPool
## 最小空闲连接数量
spring.datasource.hikari.minimum-idle=10
## 最大连接数, 默认值是 10
spring.datasource.hikari.maximum-pool-size=10
## 空闲连接存活最大时间, 默认值是 600000(10分钟), 超过该值会被释放
spring.datasource.hikari.idle-timeout=600000
## 自动提交从池中返回的连接, 默认值是 true
spring.datasource.hikari.auto-commit=true
## 池中连接的最长生命周期, 0表示无限生命周期, 默认值是 1800000(30分钟). 应设置比 DB的超时时间短
spring.datasource.hikari.max-lifetime=1800000
## 连接超时时间, 默认值是 30000(30秒)
spring.datasource.hikari.connection-timeout=30000
## 连接测试查询
spring.datasource.hikari.connection-test-query=SELECT 1

输出日志


o.s.j.e.a.AnnotationMBeanExporter:433 - Registering beans for JMX exposure on startup 
o.s.j.e.a.AnnotationMBeanExporter:895 - Bean with name 'dataSource' has been autodetected for JMX exposure 
o.s.j.e.a.AnnotationMBeanExporter:668 - Located MBean 'dataSource': registering with JMX server as MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource] 
o.s.c.s.DefaultLifecycleProcessor:356 - Starting beans in phase 2147483647 
o.s.s.a.ScheduledAnnotationBeanPostProcessor:276 - No TaskScheduler/ScheduledExecutorService bean found for scheduled processing 
o.s.b.w.e.tomcat.TomcatWebServer:206 - Tomcat started on port(s): 8080 (http) with context path '' 
com.test.web2.Web2App:59 - Started Web2App in 7.192 seconds (JVM running for 8.937) 
o.a.c.c.C.[Tomcat].[localhost].[/]:180 - Initializing Spring FrameworkServlet 'dispatcherServlet' 
o.s.web.servlet.DispatcherServlet:497 - FrameworkServlet 'dispatcherServlet': initialization started 
o.s.web.servlet.DispatcherServlet:512 - FrameworkServlet 'dispatcherServlet': initialization completed in 29 ms 
com.zaxxer.hikari.HikariDataSource:110 - MyPool - Starting... 
com.zaxxer.hikari.HikariDataSource:123 - MyPool - Start completed. 

如果您觉得有帮助,欢迎点赞哦 ~ 谢谢!!

猜你喜欢

转载自blog.csdn.net/qcl108/article/details/105902254