网站首页介绍,京东网上商城创立时间,泰安专业的网站建设,咸宁网站建设HikariCP连接池
HikariCP连接池是高性能的JDBC连接池#xff0c;官网标注的三大特点#xff1a;快速、简单、可靠#xff0c;性能优于其他连接池。 官网详细地说明了HikariCP所做的一些优化#xff0c;总结如下#xff1a;
字节码精简#xff1a;优化代码#xff0c;直…HikariCP连接池
HikariCP连接池是高性能的JDBC连接池官网标注的三大特点快速、简单、可靠性能优于其他连接池。 官网详细地说明了HikariCP所做的一些优化总结如下
字节码精简优化代码直到编译后的字节码最少展平继承层次结构掩饰成员变量消除强制类型转换这样CPU缓存可以加载更多的程序代码优化代理和拦截器减少代码例如HikariCP的Statement proxy只有100行代码只有BoneCP的十分之一自定义数组类型FastStatementList代替ArrayList避免每次get()调用都要进行range check避免调用remove()时的从头到尾的扫描自定义无锁集合类型ConcurrentBag提高并发读写的效率
HikariCP的使用
因为spring boot 2.0使用hikariCP作为默认连接池所以hikariCP的依赖已经默认集成了hikariCP的依赖集成在了spring-boot-starter-jdbc和spring-boot-starter-data-jpa中我们不需要另外引入hikariCP相关的依赖这里只是引入了Mysql的依赖和JDBC依赖。
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId
/dependency
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.13/version
/dependency因此可以不用单独引入HikariCP如果需要使用则可以单独引入。
dependencygroupIdcom.zaxxer/groupIdartifactIdHikariCP/artifactIdversion4.0.3/version
/dependencyYaml配置
配置数据源信息
spring:datasource: # 数据源的相关配置type: com.zaxxer.hikari.HikariDataSource # 数据源类型HikariCPdriver-class-name: com.mysql.jdbc.Driver # mysql驱动url: jdbc:mysql://localhost:3306/foodie-dev?useUnicodetruecharacterEncodingUTF-8autoReconnecttrueusername: rootpassword: 123456hikari: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分钟 1800000msconnection-test-query: SELECT 1 # 连接测试语句HikariCP优势分析 详细配置信息
1.必须配置 2.常用配置 3.不常用配置 连接池是否越大越好
建议计算公式连接数 ((cpu核数 * 2) 磁盘有效主轴数)
正常情况下10个连接就能够撑起6000TPS的简单查询 !!!