zoukankan      html  css  js  c++  java
  • HikariCP连接池简介与yaml配置

    HikariCP连接池是高性能的JDBC连接池,官网标注的三大特点:快速、简单、可靠,性能优于其他连接池。

    官网详细地说明了HikariCP所做的一些优化,总结如下:

    • 字节码精简:优化代码,直到编译后的字节码最少(展平继承层次结构,掩饰成员变量,消除强制类型转换),这样,CPU缓存可以加载更多的程序代码;
    • 优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码,只有BoneCP的十分之一;
    • 自定义数组类型(FastStatementList)代替ArrayList:避免每次get()调用都要进行range check,避免调用remove()时的从头到尾的扫描;
    • 自定义无锁集合类型(ConcurrentBag):提高并发读写的效率;

    HikariCP的使用

    由于SpringBoot2默认集成HikariCP,因此需要再引入依赖。主要是项目mysql和springboot mybatis的依赖。

    Yaml配置

    # 配置数据源信息
    spring:
      datasource:                                           # 数据源的相关配置
        type: com.zaxxer.hikari.HikariDataSource          # 数据源类型:HikariCP
        driver-class-name: com.mysql.jdbc.Driver          # mysql驱动
        url: jdbc:mysql://localhost:3306/foodie-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
        username: root
        password: 123456
        hikari:
          connection-timeout: 30000        # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
          minimum-idle: 5                  # 最小连接数
          maximum-pool-size: 20            # 最大连接数
          auto-commit: true                # 事务自动提交
          idle-timeout: 600000             # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
          pool-name: DateSourceHikariCP     # 连接池名字
          max-lifetime: 1800000             # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
          connection-test-query: SELECT 1  # 连接测试语句
    

    参考资料

    版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    javaweb学习总结(五)——Servlet开发(一)
    机器学习(1)2017.3.2
    Java中三种变量
    Java中javadoc注释使用规则 转
    java中main函数的位置必须在public class类中么? (eclipse,editplus环境下)
    【C++】 私有成员变量的理解
    怕忘了
    隐写命令方法总结-(研究生创新联盟高校首届研究生网络与信息安全技术大赛)
    kali源
    几款chrome扩展和应用
  • 原文地址:https://www.cnblogs.com/dtyy/p/14191982.html
Copyright © 2011-2022 走看看