hikari连接池的配置

开胃菜:
据说hikari连接池很快,快到让另一个连接池的作者抛弃对自己连接池的维护,并且强烈推荐使用hikari连接池目前我们项目使用的有两个 一个是Druid , 一个是 Hikari, 其中Druid关注的是连接池中连接的监控作用,而Hikari注重的是连接池中连接的创建和回收的速度,因此Hikari会有更高的效率。
Druid 连接配置

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password}" />
        初始化连接大小
        <property name="initialSize" value="${initialSize}"></property>
        连接池最大数量
        <property name="maxActive" value="${maxActive}"></property>
        连接池最小空闲
        <property name="minIdle" value="${minIdle}"></property>
        获取连接最大等待时间
        <property name="maxWait" value="${maxWait}"></property>
        <property name="filters" value="stat,config" />
        <property name="connectionProperties" value="config.decrypt=true" />
  </bean>

hikari连接配置:

<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
        destroy-method="close">
        <!-- 无需指定,除非系统无法自动识别 -->
        <property name="jdbcUrl" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password}" />
        <!-- 连接只读数据库时配置为true, 保证安全 -->
        <property name="readOnly" value="false" />
        <!-- 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 缺省:30-->
        <property name="connectionTimeout" value="30000" />
        <!-- 一个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10分钟 -->
        <property name="idleTimeout" value="60000" />
        <!-- 一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒,参考MySQL wait_timeout参数(show variables like '%timeout%';-->
        <property name="maxLifetime" value="1800000" />
        <!-- idleTimeout只有在minimumIdle设置为小于maximumPoolSize的情况下才生效 -->
        <property name="minimumIdle" value="10" />
        <!-- 连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count) -->
        <property name="maximumPoolSize" value="15" />
    </bean>

还有一个就是Hikari在spring-boot中的配置

spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://xx.xx.xx.xx:3306/xx?characterEncoding=UTF-8&useUnicode=true&autoReconnect=true&useCursorFetch=true&defaultFetchSize=100&serverTimezone=UTC
    username: root
    password: root
    hikari:
      minimum-idle: 5
      idle-timeout: 600000
      auto-commit: true
      pool-name: Hikari Pool
      max-lifetime: 1800000
      connection-timeout: 30000
      connection-test-query: Select 1

jhipster生成的默认链接:
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://220.180.238.62:13306/yaojiang?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
username: root
password: XXXXXX
hikari:
poolName: Hikari
auto-commit: false
data-source-properties:
cachePrepStmts: true
prepStmtCacheSize: 250
prepStmtCacheSqlLimit: 2048
useServerPrepStmts: true

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值