概述

HikariCP是Spring Framework 5.0的默认 数据库连接池,这得益于他的高性能。但是如果配置不当,数据库连接池也可能因影响到系统性能。

重要参数

maximum-pool-size

minimum-idle

pool-name

auto-commit

idle-timeout

max-lifetime

connection-timeout

初始化过程和连接创建逻辑

当HikariCP初始化时候,会将添加连接到池中,直到达到minimum-idle的数量,此时保持这个状态。当有新的连接池请求时,HikariCP会返回一个connection的代理。当connection都处于使用状态时,若此时有新的连接池请求,HikariCP就会继续新建connection直到达到maximun-pool-size。

maximum-pool-size

池中最大连接数(包括空闲和正在使用的连接)。默认值是10,这个一般预估应用的最大连接数,后期根据监测得到一个最大值的一个平均值。要知道,最大连接并不是越多越好,一个connection会占用系统的带宽和存储。但是 当连接池没有空闲连接并且已经到达最大值,新来的连接池请求(HikariPool#getConnection)会被阻塞直到connectionTimeout(毫秒),超时后便抛出SQLException。

minimum-idle

池中最小空闲连接数量。默认值10,小于池中最大连接数,一般根据系统大部分情况下的数据库连接情况取一个平均值。Hikari会尽可能、尽快地将空闲连接数维持在这个数量上。如果为了获得最佳性能和对峰值需求的响应能力,我们也不妨让他和最大连接数保持一致,使得HikariCP成为一个固定大小的数据库连接池。

pool-name

连接池的名字。一般会出现在日志和JMX控制台中。默认值:auto-genenrated。建议取一个合适的名字,便于监控。

auto-commit

是否自动提交池中返回的连接。默认值为true。一般是有必要自动提交上一个连接中的事物的。如果为false,那么就需要应用层手动提交事物。

idle-timeout

空闲时间。仅在minimum-idle小于maximum-poop-size的时候才会起作用。默认值10分钟。根据应用实际情况做调整,对于一些间歇性流量达到峰值的应用,一般需要考虑设置的比间歇时间更大,防止创建数据库连接拖慢了应用速度。

max-lifetime

连接池中连接的最大生命周期。当连接一致处于闲置状态时,数据库可能会主动断开连接。为了防止大量的同一时间处于空闲连接因为数据库方的闲置超时策略断开连接(可以理解为连接雪崩),一般将这个值设置的比数据库的“闲置超时时间”小几秒,以便这些连接断开后,HikariCP能迅速的创建新一轮的连接。

connection-timeout

连接超时时间。默认值为30s,可以接收的最小超时时间为250ms。但是连接池请求也可以自定义超时时间(com.zaxxer.hikari.pool.HikariPool#getConnection(long))。

#

# 配置数据源相关 使用 HikariCP 数据源

#

############################################################

# 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒

spring.datasource.hikari.connection-timeout=30000# 最小连接数

spring.datasource.hikari.minimum-idle=5# 最大连接数

spring.datasource.hikari.maximum-pool-size=15# 自动提交

spring.datasource.hikari.auto-commit=true# 一个连接idle状态的最大时长(毫秒),超时则被释放(retired),默认:10分钟

spring.datasource.hikari.idle-timeout=600000# 连接池名字

spring.datasource.hikari.pool-name=DatebookHikariCP

# 一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms,建议设置比数据库超时时长少60秒,参考MySQL wait_timeout参数(show variables like‘%timeout%‘;) -->spring.datasource.hikari.max-lifetime=28740000spring.datasource.hikari.connection-test-query=SELECT 1

原文链接:https://blog.csdn.net/ling_76539446/article/details/102637024

hikaricp mysql_使用 HikariCP 数据源相关推荐

  1. hikaricp mysql_配置HikariCP连接池

    配置HikariCP连接池 数据库配置 spring.datasource.driver-class-name=com.mysql.jdbc.Driver 指定 spring 连接数据源驱动 spri ...

  2. ssas 数据源mysql_支持的数据源类型(SSAS 多维)

    支持的数据源类型(SSAS 多维) 09/12/2014 本文内容 本主题介绍可以在多维模型中使用的数据源的类型. 支持的数据源 可以从下表的数据源中检索数据. 在您安装 SQL Server Dat ...

  3. Spring Boot 青睐的数据库连接池HikariCP为什么是史上最快的?

    前言 现在已经有很多公司在使用HikariCP了,HikariCP还成为了SpringBoot默认的连接池,伴随着SpringBoot和微服务,HikariCP 必将迎来广泛的普及. 下面陈某带大家从 ...

  4. springboot整合mybatis 使用HikariCP连接池

    springboot整合mybatis 使用HikariCP连接池 前言 Springboot让Java开发更加美好,本节主要讲的是使用Hikari数据库连接池,如果需要使用druid连接池的请看我另 ...

  5. SpringBoot 默认数据库连接池 HikariCP

    目录 引言 1.问题描述 2.SpringBoot默认的数据库连接池 3.HikariCP是什么 4.测试依赖 5.配置文件 5.1.数据库连接参数 5.2.连接池数据基本参数 5.3.连接检查参数 ...

  6. 在 Spring Boot 中使用 HikariCP 连接池

    上次帮小王解决了如何在 Spring Boot 中使用 JDBC 连接 MySQL 后,我就一直在等,等他问我第三个问题,比如说如何在 Spring Boot 中使用 HikariCP 连接池.但我等 ...

  7. 数据库连接池HikariCP

    HikariCP 现在已经有很多公司在使用HikariCP了,HikariCP还成为了SpringBoot默认的连接池,伴随着SpringBoot和微服务,HikariCP 必将迎来广泛的普及. 下面 ...

  8. 跟我学Springboot开发后端管理系统4:数据库连接池Druid和HikariCP

    上一篇文章主要讲解了如何再Matrix-Web中使用Mybatis-Plus,Mybatis-Plus作为Orm框架,连接数据库需要连接数据库的依赖.WEB 系统高并发环境下,频繁的进行数据库连接操作 ...

  9. Spring Boot 2.0选择HikariCP作为默认数据库连接池的五大理由

    转载自公众号:工匠小猪猪的技术世界 摘要: 本文非原创,是「工匠小猪猪的技术世界」搜集了一些HikariCP相关的资料整理给大家的介绍,主要讲解了为什么sb2选择了HikariCP以及HikariCP ...

最新文章

  1. ft2232驱动安装方法_关于Win10无法安装英伟达驱动的处理方法
  2. unordered_map自定义key
  3. Spring4 MVC表单验证代码示例
  4. python 分类变量回归_极简Python带你探索分类与回归的奥秘
  5. html网页之间怎么切换效果,HTML教程:网页页面切换的各种效果-♚付涛纪实阁♚...
  6. 6个座位办公室最佳位置_办公室座位最佳位置(讲解)
  7. 20210602:力扣第243周周赛(下)
  8. 安卓开发应该知道的Drawable、Bitmap、Canvas和Paint的关系
  9. http://blog.sina.com.cn/s/blog_6a01140c0100wimi.html
  10. [POI2010]Divine Divisor
  11. android 修复工具下载,安卓数据恢复软件(FonePaw for Android)
  12. Numpy 笔记(二): 多维数组的切片(slicing)和索引(indexing)
  13. MATLAB 中gcf、gca 以及gco 的区别
  14. 公司最大的内耗,是“人才错配”
  15. CuraEngine和Cura配置(Ubuntu18.04环境)
  16. 马斯洛需求层次理论与消费者需求
  17. win7删除计算机 网络打印机驱动程序,Windows 7、8 系统下手动删除打印机驱动程序的方法...
  18. 电脑如何批量下载哔哔视屏_我是电脑哔哔哔哔哔
  19. 知识付费直播使用https方法
  20. 阿里云上创建Oracle RAC-静默模式

热门文章

  1. jquery 获取键值对中最大值_jquery属性的操作
  2. 数字图像-6空域滤波
  3. 线性运算和非线性运算
  4. 鬼才!用Python计算圆周率 π
  5. Spring Data JPA 从入门到精通~QueryByExampleExecutor的使用
  6. p图软件pⅰc_惊爆软件:王者荣耀P图大神,助力少年国服梦
  7. 应付账款账龄分析模板_企业财务报表分析论文应如何着手?
  8. 常用函数总结——sprintf
  9. 动态链接MFC引发的血案
  10. linux下如何启动vsftp服务,如何在Ubuntu 18.04上使用VSFTP快速设置FTP服务器