druid连接池最大连接数 druid连接池监控页面

今天给各位详细介绍关于“druid连接池监控页面”的核心内容以及“druid连接池最大连接数”的相关知识 , 希望对各位有所帮助 。
前一篇文章我们熟悉了HikariCP连接池 , 也了解到它的性能很高 , 今天我们讲一下另一款比较受欢迎的连接池:Druid , 这是阿里开源的一款数据库连接池 , 它官网上声称:为监控而生!他可以实现页面监控 , 看到SQL的执行次数、时间和慢SQL信息 , 也可以对数据库密码信息进行加密 , 也可以对监控结果进行日志的记录 , 以及可以实现对敏感操作实现开关 , 杜绝SQL注入 , 下面我们详细讲一下它如何与Spring集成 , 并且顺便了解一下它的监控的配置 。
文章要点:
Spring集成Druid
监控Filters配置(stat、wall、config、log)
HiKariCP和Druid该如何选择

org.springframework.boot
spring-boot-starter-actuator


org.springframework.boot
spring-boot-starter-web


mysql
mysql-connector-java
runtime


org.projectlombok
lombok
true


org.springframework.boot
spring-boot-starter-test
test


org.springframework.boot
spring-boot-starter-data-jdbc


org.mybatis.spring.boot
mybatis-spring-boot-starter
2.2.0


.alibaba
druid-spring-boot-starter
1.2.6

@Configuration
public class DataSourceConfiguration {
@ConfigurationProperties(prefix = "spring.datasource.druid")
@Bean
public DataSource dataSource(){
return new DruidDataSource();
}
}
# 或spring.datasource.url
spring.datasource.druid.url=jdbc:mysql://localhost:3306/chenrui
# 或spring.datasource.username
spring.datasource.druid.username=root
# 或spring.datasource.password
spring.datasource.druid.password=root
#初始化时建立物理连接的个数 。 初始化发生在显示调用init方法 , 或者第一次getConnection时
spring.datasource.druid.initial-size=5
#最大连接池数量
spring.datasource.druid.max-active=20
#最小连接池数量
spring.datasource.druid.min-idle=5
#获取连接时最大等待时间 , 单位毫秒 。 配置了maxWait之后 , 缺省启用公平锁 , 并发效率会有所下降 , 如果需要可以通过配置useUnfairLock属性为true使用非公平锁
spring.datasource.druid.max-wait=500
#是否缓存preparedStatement , 也就是PSCache 。 PSCache对支持游标的数据库性能提升巨大 , 比如说oracle 。 在mysql下建议关闭 。
spring.datasource.druid.pool-prepared-statements=false
#要启用PSCache , 必须配置大于0 , 当大于0时 , poolPreparedStatements自动触发修改为true 。 在Druid中 , 不会存在Oracle下PSCache占用内存过多的问题 , 可以把这个数值配置大一些 , 比如说100
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=-1
#用来检测连接是否有效的sql , 要求是一个查询语句 , 常用select 'x' 。 如果validationQuery为null , testOnBorrow、testOnReturn、testWhileIdle都不会起作用 。
spring.datasource.druid.validation-query=select 'x'
#单位:秒 , 检测连接是否有效的超时时间 。 底层调用jdbc Statement对象的void setQueryTimeout(int seconds)方法
spring.datasource.druid.validation-query-timeout=1


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。