附加:HikariCP连接池简述;(并没有深究,只是对HikariCP连接池有个基本认识)
·
说明:
(1)为什么了写了本篇博客?:在【16:第二章:架构后端项目:12:配置mybatis;(在【imooc-news-dev-service-user】这个微服务子工程上,配置)】中,我们的数据库连接池使用的是HikariCP连接池;;;所以,写了本篇博客,对其进行简单的介绍;
(2)本篇博客参考的文章有:
●【Hikari连接池】,该文的作者是【王六六的IT日常】;
●【Spring系列之HikariCP连接池】,该文的作者是【程序员阿牛】;
目录
一:参考文章1:Hikari连接池;
hikari: # 连接池名 pool-name: DateHikariCP # 最小空闲连接数 minimum-idle: 5 # 空闲连接存活最大时间,默认600000(10分钟) idle-timeout: 180000 # 连接池的最大连接数,默认10 maximum-pool-size: 10 # 此属性控制从池返回的连接的默认自动提交行为,默认值:true auto-commit: true # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟 max-lifetime: 1800000 # 数据库连接超时时间,默认30000(30秒) onnection-timeout: 30000 # 测试连接是否可用的查询语句 connection-test-query: SELECT 1
二:参考文章2:Spring系列之HikariCP连接池;
参考自【Spring系列之HikariCP连接池】,该文的作者是【程序员阿牛】;
/** * 下面的三个注解意思是当classpath中有HikariDataSource.class,并且Spring上下文中没有配置DataSource的bean * 并且spring.datasource.type的值是com.zaxxer.hikari.HikariDataSource的时候,SpringBoot自动帮我们选择默认的连接池是HikariDataSource */ @ConditionalOnClass({HikariDataSource.class}) @ConditionalOnMissingBean({DataSource.class}) @ConditionalOnProperty(name = {"spring.datasource.type"},havingValue = "com.zaxxer.hikari.HikariDataSource",matchIfMissing = true) static class Hikari { Hikari() { } @Bean @ConfigurationProperties(prefix = "spring.datasource.hikari") HikariDataSource dataSource(DataSourceProperties properties) { HikariDataSource dataSource = (HikariDataSource)DataSourceConfiguration.createDataSource(properties, HikariDataSource.class); if (StringUtils.hasText(properties.getName())) { dataSource.setPoolName(properties.getName()); } return dataSource; } }# 不同数据源这四个配置都会用到 spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver #以下的配置项是hikari特有的配置 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒 spring.datasource.hikari.connection-timeout=30000 # 最小连接数 spring.datasource.hikari.minimum-idle=5 # 最大连接数 spring.datasource.hikari.maximum-pool-size=15 # 自动提交 spring.datasource.hikari.auto-commit=true # 一个连接idle状态的最大时长(毫秒),超时则被释放(retired),默认:10分钟 spring.datasource.hikari.idle-timeout=600000 # 连接池名字 spring.datasource.hikari.pool-name=DatebookHikariCP # 一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms,建议设置比数据库超时时长少60秒 spring.datasource.hikari.max-lifetime=28740000 spring.datasource.hikari.connection-test-query=SELECT 1 #以下是针对MYSQL驱动的配置参数 # 在每个连接中缓存的语句的数量。默认值为保守值25。建议将其设置为250-500之间 spring.datasource.hikari.prepStmtCacheSize = 300 # 缓存的已准备SQL语句的最大长度,默认值是256,但是往往这个长度不够用 spring.datasource.hikari.prepStmtCacheSqlLimit = 2048 # 缓存开关,如果这里设置为false,上面两个参数都不生效 spring.datasource.hikari.cachePrepStmts = true #较新版本的 MySQL 支持服务器端准备好的语句,这可以提供实质性的性能提升 spring.datasource.hikari.useServerPrepStmts = trueHikariCP官方地址: https://github.com/brettwoold...
更多推荐







所有评论(0)