当前位置: 首页 > news >正文

Druid连接池

一.什么是Druid连接池?

Druid 是阿里巴巴开源的一款数据库连接池(Database Connection Pool),具有高效、稳定、安全等特点。除了连接池的功能外,Druid 还提供了强大的 SQL 监控、统计、日志记录、防火墙等功能。它主要用于管理数据库连接、提高数据库访问性能,并且可以帮助开发人员分析和监控 SQL 语句的执行情况。

二.Druid连接池的使用场景:

  • 高并发环境下数据库连接池的管理。
  • 需要对 SQL 进行性能分析和监控的场景。
  • 需要对 SQL 进行安全防护,防止 SQL 注入等攻击的场景。
  • 需要自动化数据库连接池管理和监控的企业级项目。

三.Druid连接池的使用方法:

Druid 可以非常方便地集成到 Spring Boot 项目中,通过简单的配置文件修改和少量代码就可以启用其数据库连接池及监控功能。配置 Druid 的步骤包括:

  1. 引入 Druid 的依赖。
  2. 配置数据源和连接池的参数。
  3. 启用 SQL 监控和 Web 控制台。

1.引入Druid依赖:

<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.16</version>
</dependency>

2.在 application.yml 中配置 Druid 数据源参数:

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql://localhost:3306/your_databaseusername: rootpassword: your_passworddriver-class-name: com.mysql.cj.jdbc.Driverdruid:# 连接池基本配置initial-size: 10                   # 初始连接数min-idle: 10                       # 最小空闲连接数max-active: 50                     # 最大活跃连接数(并发数)max-wait: 30000                    # 获取连接的最大等待时间(毫秒)time-between-eviction-runs-millis: 60000   # 两次空闲连接检测的间隔时间(毫秒)min-evictable-idle-time-millis: 300000     # 连接保持空闲的最小时间(毫秒)validation-query: SELECT 1                  # 检查连接是否可用的 SQLtest-while-idle: true               # 空闲时测试连接可用性test-on-borrow: false               # 获取连接时不测试test-on-return: false               # 归还连接时不测试#下面配置是监控,可通过http://localhost:8080/druid/来访问#通过 Druid 提供的 Web 监控控制台,对数据库连接池的运行情况进行可视化监控,同时提供了一定的权限控制,确保只有特定 IP 地址或用户能够访问该监控页面stat-view-servlet:enabled: true                    # 启用 Druid 的监控视图功能url-pattern: /druid/*            # 设置访问监控视图的 URL 地址,例如 /druid/*allow: 127.0.0.1                 # 只允许本地 IP 127.0.0.1 访问该监控视图login-username: admin            # 设置访问监控页面时的用户名login-password: admin            # 设置访问监控页面时的密码
http://www.lryc.cn/news/435441.html

相关文章:

  • Python3网络爬虫开发实战(14)资讯类页面智能解析
  • 社交媒体的未来:Facebook如何通过AI技术引领潮流
  • Java 面试题:从源码理解 ThreadLocal 如何解决内存泄漏 ConcurrentHashMap 如何保证并发安全 --xunznux
  • 使用人力劳务灵工安全高效的发薪工具
  • 使用W外链创建微信短链接的方法
  • 【人工智能学习笔记】4_4 深度学习基础之生成对抗网络
  • 基于MinerU的PDF解析API
  • 猫头虎分享:看完百度内部讲话,整理出李彦宏关于大模型的10个判断
  • vue3透传、注入
  • 数模原理精解【9】
  • Java中的linkedList类及与ArrayList的异同
  • 【精选】文件摆渡系统:跨网文件传输的安全与效率之选
  • tkinter 电子时钟 实现时间日期 可实现透明 无标题栏
  • 【hot100-java】【除自身以外数组的乘积】
  • 【Python机器学习】循环神经网络(RNN)——审察模型内部情况
  • 智能语音交互:人工智能如何改变我们的沟通方式?
  • vue3中动态引入本地图片的两种方法
  • Linux网络——socket编程与UDP实现服务器与客户机通信
  • 大型语言模型中推理链的演绎验证
  • openharmony 应用支持常驻和自启动
  • Winform中引入WPF控件后键盘输入无响应
  • 多线程——死锁
  • 链路追踪可视化利器之火焰图
  • C语言 ——— 条件编译指令实际用途
  • 备战软考Day01-计算机系统
  • 从C语言过渡到C++
  • Docker 的安装和使用
  • 鸿蒙轻内核A核源码分析系列七 进程管理 (2)
  • 关于TypeScript使用讲解
  • C语言 | Leetcode C语言题解之第393题UTF-8编码验证