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

news2025/5/24 20:31:26

文章目录

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

前置

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

配置方式

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

# Druid 配置(Spring Boot YAML 格式)
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/testdb?useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    druid:
      initial-size: 5
      min-idle: 5
      max-active: 20
      max-wait: 60000
      time-between-eviction-runs-millis: 60000
      validation-query: SELECT 1
      test-while-idle: true
      test-on-borrow: false
      test-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自定

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2384855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TDengine 运维—容量规划

概述 若计划使用 TDengine 搭建一个时序数据平台,须提前对计算资源、存储资源和网络资源进行详细规划,以确保满足业务场景的需求。通常 TDengine 会运行多个进程,包括 taosd、taosadapter、taoskeeper、taos-explorer 和 taosx。 在这些进程…

PPP 拨号失败:ATD*99***1# ... failed

从日志来看,主要有两类问题: 一、led_indicator_stop 报 invalid p_handle E (5750) led_indicator: …/led_indicator.c:461 (led_indicator_stop):invalid p_handle原因分析 led_indicator_stop() 的参数 p_handle (即之前 led_indicator…

【计网】五六章习题测试

目录 1. (单选题, 3 分)某个网络所分配到的地址块为172.16.0.0/29,能接收目的地址为172.16.0.7的IP分组的最大主机数是( )。 2. (单选题, 3 分)若将某个“/19”的CIDR地址块划分为7个子块,则可能的最小子块中的可分配IP地址数量…

汇川EasyPLC MODBUS-RTU通信配置和编程实现

累积流量计算(MODBUS RTU通信数据处理)数据处理相关内容。 累积流量计算(MODBUS RTU通信数据处理)_流量积算仪modbus rtu通讯-CSDN博客文章浏览阅读219次。1、常用通信数据处理MODBUS通信系列之数据处理_modbus模拟的数据变化后会在原来的基础上累加是为什么-CSDN博客MODBUS通…

从 CANopen到 PROFINET:网关助力物流中心实现复杂的自动化升级

使用 CANopen PLC 扩展改造物流中心的传送带 倍讯科技profinet转CANopen网关BX-601-EIP将新的 PROFINET PLC 系统与旧的基于 CANopen 的传送带连接起来,简化了物流中心的自动化升级。 新建还是升级?这些问题通常出现在复杂的内部物流设施中,…

基于Yolov8+PyQT的老人摔倒识别系统源码

概述 ​​基于Yolov8PyQT的老人摔倒识别系统​​,该系统通过深度学习算法实时检测人体姿态,精准识别站立、摔倒中等3种状态,为家庭或养老机构提供及时预警功能。 主要内容 ​​完整可运行代码​​ 项目采用Yolov8目标检测框架结合PyQT5开发…

wsl2 不能联网

wsl2 安装后用 wifi 共享是能联网,问题出在公司网络限制 wsl2 IP 访问网络,但是主机可以上网。 解决办法,在主机用 nginx 设置代理,可能需要开端口权限 server {listen 9000;server_name localhost;location /ubuntu/ {#…

Java[IDEA]里的debug

目录 前言 Debug 使用Debug 总结 前言 这里我说一下就是 java IDEA 工具里的debug工具 里的一个小问题 就是 当我们使用debug去查看内部文档 查看不到 是为什么 Debug 所谓 debug 工具 他就是用来调试程序的 当我们写代码 报错 出错时 我们就可以使用这个工具 因此这个工具…

DAO模式

1. 持久化 简单来说,就是把代码的处理结果转换成需要的格式进行储存。 2. JDBC的封装 3. DAO模式 4. Properties类与Properties配置文件 添加 读取 5. 使用实体类传递数据 6. 总结 附录: BaseDao指南 BaseDao指南-CSDN博客

ECharts图表工厂,完整代码+思路逻辑

Echart工厂支持柱状图(bar)折线图(line)散点图(scatter)饼图(pie)雷达图(radar)极坐标柱状图(polarBar)和极坐标折线图(po…

CSS:margin的塌陷与合并问题

文章目录 一、margin塌陷问题二、margin合并问题 一、margin塌陷问题 二、margin合并问题

探索服务网格(Service Mesh):云原生时代的网络新范式

文章目录 一、引言二、什么是服务网格基本定义形象比喻 三、服务网格解决了哪些问题微服务通信复杂性可观察性安全性 四、常见的服务网格实现IstioLinkerdConsul Connect 五、服务网格的应用场景大型微服务架构混合云环境 六、服务网格的未来发展与其他技术的融合标准化和行业规…

SQL SERVER中实现类似LEAST函数的功能,返回多列数据中的最小值

使用 LEAST()函数可以简洁地在一行SQL语句中找出多个值中的最小值,但在SQLServer数据库中,没有内置的LEAST函数。 我们可以使用values子句创建临时的数据集的办法,返回多列数据中的最小值。 创建表 CREATE TABLE stu…

SymPy | 获取表达式自由变量方法与因式分解

SymPy 是 Python 中强大的符号计算库,广泛应用于数学建模、公式推导和科学计算。本文将从两个核心功能展开:表达式中自由变量的获取与因式分解的实现,通过完整代码示例和深入分析,帮助读者掌握其使用方法。 第一部分:获…

深度剖析并发I/O模型select、poll、epoll与IOCP核心机制

核心概要:select、poll、epoll 和 IOCP 是四种用于提升服务器并发处理能力的I/O模型或机制。前三者主要属于I/O多路复用范畴,允许单个进程或线程监视多个I/O流的状态;而 IOCP 则是一种更为彻底的异步I/O模型。 一、引言:为何需要这…

数据结构 -- 交换排序(冒泡排序和快速排序)

冒泡排序 基于“交换”的排序&#xff1a;根据序列中两个元素关键字的比较结果来对换这两个记录在序列中的位置 //交换 void swap(int &a,int &b){int temp a;a b;b temp; }//冒泡排序 void BubbleSort(int A[],int n){for(int i0;i<n-1;i){bool flag false; …

【算法】: 前缀和算法(利用o(1)的时间复杂度快速求区间和)

前缀和算法&#xff1a;高效处理区间求和的利器 目录 引言什么是前缀和前缀和的基本实现前缀和的作用前缀和的典型应用场景前缀和的优缺点分析实战例题解析 引言 区间求和问题的普遍性暴力解法的时间复杂度问题前缀和算法的核心思想 什么是前缀和 前缀和的数学定义 通俗来…

macOS 安装 PostgreSQL

文章目录 安装安装信息 验证GUI 工具下载 安装 最简单的方式是通过 brew 安装 brew install postgresql17该版本在 brew 上的详情页&#xff1a;https://formulae.brew.sh/formula/postgresql17 你也可以根据需要&#xff0c;搜索 安装更新版本 如果你没有安装 brew&#xf…

Linux系统:基础命令之 ls~pwd~cd

文章目录 前言一、ls命令&#x1f4d8; 命令简介&#xff1a;&#x1f9e0; 基本语法&#xff1a;演示ls&#x1f527; 常用选项&#xff1a;-l选项-a选项-h选项 小结 ls 二、pwd命令&#x1f4d8; 命令简介&#xff1a;何为绝对路径&#xff01;何为相对路径&#xff01;&…

基于OAuth2-proxy和Keycloak为comfyui实现SSO

背景 comfyui无认证被漏扫后易被rce挖矿 攻击过程 https://www.oschina.net/news/340226 https://github.com/comfyanonymous/ComfyUI/discussions/5165 阿里云漏洞库关于comfyui的漏洞 https://avd.aliyun.com/search?qcomfyui&timestamp__1384n4%2BxBD0GitGQ0QD8ID%2F…