SpringBoot整合hikari

作者: CodePandaes | 来源:发表于2020-03-08 20:28 被阅读0次

    hikari号称史上最快连接池,也是SpringBoot默认推荐的连接池

    为什么hikari连接池如此的快

    官网说:

    1. 自定义数组类型(FastStatementList)代替ArrayList:避免每次get()调用都要进行range check,避免调用remove()时的从头到尾的扫描;
    2. 优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码;
    3. 字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码;
    4. 自定义集合类型(ConcurrentBag):提高并发读写的效率;
      由此可见,相比于其他链接池C3P0,DBCP“性能王”hikari的优势很明显,再加上它130kb的小身形,日后前途不可限量。

    配置

    # 数据库配置
    spring.datasource.url = jdbc:mysql://localhost:3306/hikariTest?useUnicode=true&characterEncoding=utf-8&useSSL=false
    spring.datasource.username = root
    spring.datasource.password = root
    spring.datasource.driverClassName = com.mysql.jdbc.Driver
    #指定连接池类型为hikari
    spring.datasource.type=com.zaxxer.hikari.HikariDataSource
    
    # 连接池最大连接数,默认是10
    spring.datasource.hikari.maximum-pool-size=50
    # 此属性控制从池返回的连接的默认自动提交行为,默认值:true
    spring.datasource.hikari.auto-commit=true
    #连接将被测试活动的最大时间量
    spring.datasource.hikari.validationTimeout=10000 
    # 连接池连接的最长生命周期,默认30分钟
    spring.datasource.hikari.max-lifetime=1800000
    # 连接超时时间,默认30秒
    spring.datasource.hikari.connection-timeout=30000
    #如果您的驱动程序支持JDBC4,不要设置此属性
    spring.datasource.hikari.connection-test-query=SELECT 1
    # 最小空闲连接数量
    spring.datasource.hikari.minimum-idle=10
    # 空闲连接存活最大时间,默认10分钟
    spring.datasource.hikari.idle-timeout=180000
    

    pom.xml中添加依赖包

        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>3.4.2</version>
        </dependency>
    

    启动项目看到com.zaxxer.hikari.HikariDataSource:Start completed即连接成功

    相关文章

      网友评论

        本文标题:SpringBoot整合hikari

        本文链接:https://www.haomeiwen.com/subject/ysujdhtx.html