数据源连接池
当我们掌握了 Java 数据库的操作能力后,就必然会面对一个新的问题,那就是性能优化,一般来说数据源连接池是最佳的优化方案,可以对比想想之前学习的线程池知识。
采用数据源连接池方案可以极大的提高了数据处理能力,因为Java 连接数据库是比较耗时的,如果每次查询都重新连接数据库那样性能非常低下。换成连接池以后,我们的数据库操作就无需每次都去连接数据库,只是复用连接,从而完成性能的提升
这个概念还是希望大家能够记住的,因为有的时候面试会经常提问到
基于性能的考虑,目前 SpringBoot 官方集成的连接池是 HikariCP
,这个是现在所有方案里性能最佳的,SpringBoot 也是默认就集成好了,并不需要我们额外处理。但是今天我们想介绍的是阿里巴巴出品的Druid
,它有如下优势
- 性能优越(目前略低于 HikariCP)
- 扩展能力极强
- 具备 SQL 拦截功能
- 具备数据统计分析功能,比如慢 SQL 分析
当大家再维护一个产品的时候,你会发现除了性能需要考虑,还需要考虑可维护性,那么监控就是我们最重要的手段,而 Druid 在这方面做的非常好,所以我们还是强烈建议使用 Druid,而且这个框架在阿里巴巴已经使用了很多年非常稳定,至于其他的方案我们就不推荐和分析了
为了使用 Druid ,你需要在 pom.xml 文件里添加依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
目前最新的是这个版本,保持更新就好
Druid 的配置项是比较多的,具体的大家可以看 Druid Spring Boot Starter 中文文档
我们继续看一下如何开启监控,你需要在 application.properties
文件里增加配置项
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.login-username=druid
spring.datasource.druid.stat-view-servlet.login-password=druid
spring.datasource.druid.stat-view-servlet.allow=
spring.datasource.druid.stat-view-servlet.deny=
上面的login-username
和login-password
是可以自己定义的哦
我们运行看看,如果是本地访问地址是http://localhost:8080/druid/login.html
大家如果运行在本地,可以看一下视频
https://style.youkeda.com/img/ham/course/j6/druid.mp4
以后我们就可以通过查看SQL监控来进行监控啦,这里会把慢SQL给打印出来的,这个还是非常实用的性能优化方案,大家记住就可以了
标签:stat,4.2,spring,druid,Druid,servlet,连接池 From: https://www.cnblogs.com/T-double/p/18523481