Hikari连接池

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
spring:
  datasource:
    ##  Hikari 连接池配置 ------ 详细配置请访问:https://github.com/brettwooldridge/HikariCP
    ## 最小空闲连接数量
    #hikari:
    # 空闲连接的最大数量
    #minimum-idle: 5
    # 空闲连接存活最大时间,默认60000010分钟)
    #idle-timeout: 180000
    # 连接池的最大连接数量,超过最大空闲连接的数量之后,经过上面的idle-timeout后连接数量会恢复到minimum-idle
    #maximum-pool-size: 10
    #connection 事务自动提交,默认就是true
    #auto-commit: true
    # 连接池名称
    #pool-name: myHikaricp
    # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认180000030分钟,为了防止连接雪崩,通常设置的比数据库的闲置时间小几秒
    #max-lifetime: 1800000
    # 连接mysql最大超时时间
    #connection-timeout: 30000
    #connection-test-query: select 1
    # 在test 连接是否可用的时候的最大时间,默认500ms,最少 250ms
    #validation-timeout: 500
    url: jdbc:mysql://127.0.0.1:3306/quanxian?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true
    username: XXXX
    password: XXXX
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.zaxxer.hikari.HikariDataSource
    hikari:
      minimum-idle: 5
      idle-timeout: 180000
      maximum-pool-size: 10
      auto-commit: true
      pool-name: myHikaricp
      max-lifetime: 180000
      connection-timeout: 30000
      connection-test-query: select 1
      validation-timeout: 500

 

1
2
3
4
5
6
那么,这么好的CP是怎么做到的呢?官网详细地说明了HikariCP所做的一些优化,总结如下:
 
    字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码;
    优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码,只有BoneCP的十分之一;
    自定义数组类型(FastStatementList)代替ArrayList:避免每次get()调用都要进行range check,避免调用remove()时的从头到尾的扫描;
    自定义集合类型(ConcurrentBag):提高并发读写的效率;

 

posted @   余生请多指教ANT  阅读(773)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-04-23 2.0vue导出excel
点击右上角即可分享
微信分享提示