当前位置: 首页 > news >正文

【Easylive】HikariCP 介绍

【Easylive】项目常见问题解答(自用&持续更新中…) 汇总版
HikariCP 是目前 Java 生态中最快、最轻量级的高性能 JDBC 连接池,被 Spring Boot 2.x 及更高版本选为 默认数据库连接池。它的名字来源于日语“光”(Hikari),意为“快速、高效”。


1. 为什么选择 HikariCP?

特性说明
极高性能比传统的 C3P0、Tomcat JDBC、DBCP 快很多
轻量级代码精简(约 130KB),无额外依赖
零开销优化了字节码,减少 JVM 垃圾回收压力
自动优化智能调整连接池大小,避免资源浪费
健康检查自动检测失效连接,避免应用因数据库问题崩溃
Spring Boot 默认无需额外配置,开箱即用

2. HikariCP 核心配置参数

在你的 application.yml 中,HikariCP 的配置如下:

spring:
  datasource:
    hikari:
      pool-name: HikariCPDatasource   # 连接池名称(用于监控)
      minimum-idle: 5                 # 最小空闲连接数(默认等于 maximum-pool-size)
      maximum-pool-size: 10           # 最大连接数(推荐值:CPU核心数 * 2 + 1)
      idle-timeout: 180000            # 空闲连接超时时间(毫秒,默认 60000)
      max-lifetime: 1800000           # 连接最大存活时间(毫秒,默认 1800000)
      auto-commit: true               # 是否自动提交事务(默认 true)
      connection-timeout: 30000       # 连接超时时间(毫秒,默认 30000)
      connection-test-query: SELECT 1 # 连接测试 SQL(用于检查连接是否有效)

关键参数说明

参数推荐值作用
maximum-pool-sizeCPU核心数 * 2 + 1避免连接数过多导致数据库性能下降
minimum-idle≤ maximum-pool-size保持的最小空闲连接数(默认等于 maximum-pool-size
idle-timeout60000(1分钟)空闲连接超过此时间会被回收
max-lifetime1800000(30分钟)连接最大存活时间,避免长时间占用
connection-timeout30000(30秒)获取连接的超时时间,超时抛异常
connection-test-querySELECT 1检查连接是否有效的 SQL(MySQL 可用 SELECT 1

3. HikariCP 的优势

(1) 性能极致优化

无锁并发:采用 ConcurrentBag 数据结构,减少锁竞争。
字节码优化:减少 JVM 方法调用开销。
智能缓存:复用 PreparedStatement,减少 SQL 解析时间。

(2) 自动维护连接健康

心跳检测:定期检查连接是否有效,避免使用已断开的连接。
快速失败:如果数据库宕机,HikariCP 会立即抛出异常,而不是无限等待。

(3) 与 Spring Boot 完美集成

Spring Boot 2.x 默认使用 HikariCP,只需配置 spring.datasource.hikari.* 即可。


4. 常见问题

Q1: HikariCP 和 Druid 哪个更好?

对比项HikariCPDruid
性能⚡ 更快稍慢
功能基础连接池带监控、SQL 防火墙等
适用场景高性能需求需要监控和扩展功能

推荐选择
• 如果只需要 高性能连接池HikariCP(默认推荐)。
• 如果需要 监控、SQL 防注入Druid

Q2: 如何监控 HikariCP?

可以通过 Spring Boot ActuatorJMX 监控连接池状态:

management:
  endpoints:
    web:
      exposure:
        include: health,metrics,hikaricp

访问 http://localhost:7070/actuator/hikaricp 查看连接池状态。


5. 总结

HikariCP 是 Spring Boot 默认的高性能连接池,适合绝大多数场景。
关键配置maximum-pool-sizeminimum-idleconnection-timeout
优势:速度快、轻量级、自动维护连接健康。
监控:可通过 Actuator 或 JMX 查看状态。

如果你的应用不需要 Druid 的额外功能,HikariCP 是最佳选择! 🚀

相关文章:

  • 14:00开始面试,14:08就出来了,问的问题有点变态。。。
  • YOLO霸主地位不保?开源 SOTA 目标检测rf-detr 测评
  • UR机械臂sim2real推荐包
  • CUDA专题8—CUDA L2缓存完全指南:从持久化策略到性能优化实战
  • 代码随想录Day29
  • 学以致用,基于OpenCV的公摊面积估算程序
  • 探秘DeepSeek:开源AI领域的创新先锋
  • 从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.1.3分布式数据加载与并行处理(PyTorch DataLoader优化)
  • 让古籍“活”起来!PDF Craft如何用AI还原电子书灵魂?
  • Qt5.14.2+Cmake使用mingw64位编译opencv4.5成功图文教程
  • 基于python开发的邮箱合并群发工具
  • 5分钟快速手搓mcp发送邮件的server接入到cherrystudio
  • MapReduce工作原理详解
  • Mapbox-GL 事件体系和使用方法的详细讲解
  • [动规19] 最大子数组和
  • Mentalab Explore Pro携手 Wearanize + 数据集,推动睡眠科学研究
  • 每日一题-力扣-2278. 字母在字符串中的百分比 0331
  • Java EE(19)——网络原理——应用层HTTPS协议
  • 视觉语言,轻量且开源-Gemma 3
  • nut-ui下拉选的实现方式:nut-menu
  • 斐讯k3做网站/软文
  • b2c网站的销售设计流程/广告网址
  • 网站建设的公司/2345网址导航智能主板
  • 资讯门户网站 dede/cps推广平台有哪些
  • 大连开发区做网站/天津短视频seo
  • 腾讯云服务器控制台/百度seo多久能优化关键词