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

springboot配置mysql druid连接池,以及连接池参数解释

文章目录

  • 前置
  • 配置方式
  • 参数解释

前置

  • springboot 项目
  • java
  • mysql
  • druid 连接池

配置方式

在 springboot 的 application.yml 中配置基本方式

# Druid 配置(Spring Boot YAML 格式)
spring:datasource:url: jdbc:mysql://localhost:3306/testdb?useSSL=falseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driverdruid:initial-size: 5min-idle: 5max-active: 20max-wait: 60000time-between-eviction-runs-millis: 60000validation-query: SELECT 1test-while-idle: truetest-on-borrow: falsetest-on-return: false

参数解释

参数名说明默认值推荐值
连接池配置:
initialSize初始化时创建的物理连接数0如 5
minIdle最小空闲连接;0通常设置为 5~10
maxActive最大活跃连接数(同时可使用的连接数上限)8如 20~100
maxWait获取连接的最大等待时间(毫秒),超时抛出异常。-1 无限等待设置为 5000~60000,避免线程长时间阻塞
连接验证和保活:
validationQuery检测连接是否有效的 SQL(如 SELECT 1)SELECT 1
testWhileIdle空闲时检查连接有效性truetrue
连接回收与驱逐:
timeBetweenEvictionRunsMillis空闲连接检查间隔(毫秒),举例子:如果一个连接在 10:00 被归还到池中,且 timeBetweenEvictionRunsMillis 为 60 秒,则在 10:01 时,该连接的空闲时间已超过阈值,会触发检测60000(1分钟)60000(1分钟)
minEvictableIdleTimeMillis空闲连接的最小存活时间(超过此值可能被驱逐);空闲连接数 > minIdle 且 空闲时间 > 该值,回收多余的空闲连接1800000(30分钟)1800000(30分钟)
maxEvictableIdleTimeMillis空闲连接的最大存活时间(超过此值强制驱逐);空闲时间 > 该值,强制回收所有超时的空闲连接25200000(7小时)25200000(7小时)
性能优化:
poolPreparedStatements是否缓存 PreparedStatementfalse高频查询时设为 true
maxPoolPreparedStatementPerConnectionSize每个连接缓存的 PreparedStatement 数量10自定义设置
性能优化:
removeAbandoned是否回收未归还的连接(如程序异常退出)false,默认 false 是因为其对性能有影响,而且有些业务处理中连接就是很久未归还,默认如果是 true 会带来业务困扰高并发下设置true
removeAbandonedTimeout回收未归还连接的超时时间(秒)300自定

空闲连接:当一个连接使用完毕,并通过相应的归还机制(例如关闭连接对象)返回到连接池中时,它就成为了空闲连接,等待下一次被获取和使用
活跃连接:未归还到连接池的
空闲时:定义空闲时,即上一次连接归还,到下一次连接被请求使用 之间的时间

相关文章:

  • 系统架构设计师脑图
  • 【c++】: c++11线程库
  • 重读《人件》Peopleware -(12-1)Ⅱ 办公环境 Ⅴ 大脑时间与身体时间(上)
  • python实战:Python脚本后台运行的方法
  • Redis主从+哨兵+集群分片
  • 树莓派4B搭建Hector SLAM算法, ROS1 ROS2?
  • 短视频与直播场景下的美颜SDK优化方案:滤镜与特效如何平衡性能与美感?
  • 方洪波摸着雷军,“甩掉”小米
  • FPGA 42 ,时序约束深度解析与实战应用指南( FPGA 时序约束 )
  • 独木桥 Java
  • 应用案例 | 柔性生产新范式,优傲UR20赋能葡萄酒灌装产线
  • Servlet的继承关系和生命周期
  • 小白学习顺序表 之 通讯录实现
  • 《算法导论(第4版)》阅读笔记:p115-p126
  • 【GPU并行计算】不同设备上的GPU性能分析
  • 移动安全Android——ROOT检测绕过
  • 大模型技术生态全景解析:从基础组件到AGI的演进之路
  • Python基础知识(IO编程)
  • PCB设计实践(二十六)贴片电容与插件电容的全面解析:差异、演进与应用场景
  • 霍尼韦尔HMR2300-D00-485数字模块
  • 长安网站建设制作价格/网络营销策略包括哪几大策略
  • 中国最好网站建设公司/上海最专业的seo公司
  • 企业网络营销推广方案策划范文/seo网络排名优化方法
  • 给网站增加功能怎么做/长春网站优化咨询
  • 手机做网站服务器/无锡做网站的公司
  • 惠州网站建设/顾问