关于Hikari连接池中idle-timeout和max-lifetime的区别

首先翻译一下官方文档中对idle-timeout和max-lifetime的说明:

idle-timeout

官方说明:This property controls the maximum amount of time that a connection is allowed to sit idle in the pool. This setting only applies when minimumIdle is defined to be less than maximumPoolSize. Idle connections will not be retired once the pool reaches minimumIdle connections. Whether a connection is retired as idle or not is subject to a maximum variation of +30 seconds, and average variation of +15 seconds. A connection will never be retired as idle before this timeout. A value of 0 means that idle connections are never removed from the pool. The minimum allowed value is 10000ms (10 seconds). Default: 600000 (10 minutes)

部分翻译:这个属性控制连接池中空闲连接的最大空闲时间,只有当连接池中连接数量大于最小连接数量(minimumIdle)时会生效

max-lifetime

官方说明:This property controls the maximum lifetime of a connection in the pool. An in-use connection will never be retired, only when it is closed will it then be removed. On a connection-by-connection basis, minor negative attenuation is applied to avoid mass-extinction in the pool. We strongly recommend setting this value, and it should be several seconds shorter than any database or infrastructure imposed connection time limit. A value of 0 indicates no maximum lifetime (infinite lifetime), subject of course to the idleTimeout setting. The minimum allowed value is 30000ms (30 seconds). Default: 1800000 (30 minutes)

部分翻译:这个属性控制连接池中一个连接的最大生存时间,当一个连接的生存时间大于这个值且没有正在被使用时,将会被关掉

区别

max-lifetime控制连接的总的生命周期,无论当前连接数是否大于最小连接数量,都会关掉生命周期完结的连接,idle-timeout只控制空闲且大于最小连接数量的那部分连接

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
当使用Hikari连接池时,除了jdbc-url、username和password之外,还有很多其他的参数可以进行配置,下面是一些常见的参数及其配置方法: 1. pool-name:连接池名称,可以用于日志输出。在application.yml或者application.properties文件进行配置: ``` spring.datasource.hikari.pool-name=MyHikariCP ``` 2. idle-timeout:连接空闲超时时间,超过该时间的空闲连接将被断开。单位为毫秒,默认值为600000(10分钟)。在application.yml或者application.properties文件进行配置: ``` spring.datasource.hikari.idle-timeout=60000 ``` 3. max-lifetime:连接最长生命周期时间,超过该时间的连接将被断开并重新创建。单位为毫秒,默认值为1800000(30分钟)。在application.yml或者application.properties文件进行配置: ``` spring.datasource.hikari.max-lifetime=1800000 ``` 4. connection-timeout:连接超时时间,获取连接时等待的最长时间。单位为毫秒,默认值为30000(30秒)。在application.yml或者application.properties文件进行配置: ``` spring.datasource.hikari.connection-timeout=30000 ``` 5. minimum-idle连接池保持的最小空闲连接数。在application.yml或者application.properties文件进行配置: ``` spring.datasource.hikari.minimum-idle=5 ``` 6. maximum-pool-size:连接池允许的最大连接数。在application.yml或者application.properties文件进行配置: ``` spring.datasource.hikari.maximum-pool-size=20 ``` 7. connection-test-query:用于测试连接是否可用的SQL语句。在application.yml或者application.properties文件进行配置: ``` spring.datasource.hikari.connection-test-query=SELECT 1 ``` 以上是一些常用的Hikari连接池参数的配置方法,你可以根据需要进行配置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值