spring: #数据库配置 datasource: #这里使用的是德鲁伊数据库连接池 druid: db-type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: username: password: #初始连接数量 initial-size: 20 #最小连接数量 min-idle: 20 #最大连接数量 max-active: 1000 #获取连接等待超时的时间 单位是毫秒,这里配置60秒 max-wait: 60000 #查询超时时间 单位是毫秒 这里配置6秒,如果你查询数据量大的情况下这个配置的大一点,不然查询报错抛出异常 query-timeout: 6000 #事务发生回滚后多长时间响应用户单位是毫秒,这里这个时间和mysql的innodb_lock_wait_timeout是相加的关系,如果你在mysql配置文件配置了这个时间,那时间就会相加 transaction-query-timeout: 2000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒, 这里配置10分钟去检测一次是否存在空闲连接 time-between-eviction-runs-millis: 600000 #最大等待线程数量 这里配置50,当你的连接满了之后,其他的连接进入等待池子,最大的数量为50,超过这个数量的线程舍弃掉 max-wait-thread-count: 50 #最小连接时间,也就是说一条线程的空闲时间超过了这个数就会被关闭,这里的单位是毫秒,这里设置为10分钟 min-evictable-idle-time-millis: 600000 #最大连接时间,也就是说一条线程的空闲时间>最小连接时间,也>最大连接时间,直接关闭 这里设置为30分钟 max-evictable-idle-time-millis: 1800000 #申请连接时直接检测连接是否有效 test-on-borrow: true #申请连接时检测空闲时间,根据空闲时间再检测连接是否有效 test-while-idle: true #归还连接时检测连接是否有效,这个配置生产最好不要配置设置为ture,有性能问题 test-on-return: true #初始连接失败是否抛出异常 init-exception-throw: true #开启检查运行的状态 check-execute-time: true #这里是健康检查sql语句,配合下面的使用 validation-query: SELECT 1 FROM DUAL #多长时间进行一次心跳去检查是否连接了mysql,这里配置为30分钟 validation-query-timeout: 1800000 #连接出错后在尝试3次 connection-error-retry-attempts: 3 #数据库宕机后启用重连机制,true表示失败后立即断开,false表示失败后进行断线重连尝试,配合上面的重连次数 break-after-acquire-failure: false #重连的间隔 单位毫秒 这里设置30分钟重连 time-between-connect-error-millis: 1800000 #开启保持连接有效性 keep-alive: true #只有空闲时间大于keep-alive-between-time-millis并且小于min-evictable-idle-time-millis该参数才会有用,单位为毫秒 这里设置为15分钟 #这个时间必须大于检测时间time-between-eviction-runs-millis keep-alive-between-time-millis: 900000 #这个目前不知道做什么的,字面意思看是杀死什么时候的读的socket超时时间 #kill-when-socket-read-timeout:
原文链接:https://blog.csdn.net/weixin_42906367/article/details/121869390
标签:配置,millis,druid,毫秒,time,true,连接 From: https://www.cnblogs.com/stepforeward/p/17037739.html