数据库连接池druid参数详解

这篇具有很好参考价值的文章主要介绍了数据库连接池druid参数详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

spring:
  datasource:
    druid:
      # 指定数据源类型为DruidDataSource
      type: com.alibaba.druid.pool.DruidDataSource
      # 数据库连接URL
      url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
      # 数据库用户名
      username: root
      # 数据库密码
      password: "xx123!@#"
      # 连接池初始化时创建的连接数
      initialSize: 5
      # 连接池中最大连接数
      maxActive: 50
      # 连接池中最小空闲连接数
      minIdle: 5
      # 连接池中最大空闲连接数
      maxIdle: 10
      # 获取连接时的最大等待时间(毫秒)
      maxWait: 60000
      # 间隔多久检测一次空闲连接(毫秒)
      timeBetweenEvictionRunsMillis: 60000
      # 连接池中连接最小空闲时间(毫秒)
      minEvictableIdleTimeMillis: 300000
      # 用于检测连接是否有效的SQL语句
      validationQuery: SELECT 1
      # 是否开启空闲连接的检测
      testWhileIdle: true
      # 是否开启连接的检测功能,在获取连接时检测连接是否有效
      testOnBorrow: false
      # 是否开启连接的检测功能,在归还连接时检测连接是否有效
      testOnReturn: false
      # 是否缓存PreparedStatement对象
      poolPreparedStatements: true
      # 缓存PreparedStatement对象的最大数量
      maxPoolPreparedStatementPerConnectionSize: 20
      # 配置监控统计用的filter,允许监控统计
      filters: stat
      # 配置扩展属性,用于监控统计分析SQL性能等
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

1、type: 数据源类型,这里使用了Druid连接池的类型。

注意事项:使用Druid连接池的时候需要添加Druid连接池的依赖
<dependency> 
 <groupId>com.alibaba</groupId>
 <artifactId>druid-spring-boot-starter</artifactId>
 <version>${druid.version}</version>
</dependency> 

2、url: 数据库连接的URL。

注意事项:需要根据实际情况修改URL。

3、username: 数据库用户名。

4、password: 数据库密码

包含一些特殊字符的时候需要加引号。

5、initialSize: 连接池初始化时创建的连接数。

需要根据实际情况设置连接数。连接池创建连接时,会创建initialSize个连接,以确保应用程序在启动时可以立即获取到数据库连接。

6. maxActive: 连接池中最大连接数。需要根据实际情况设置最大连接数。如果连接池中连接数达到maxActive,则应用程序获取连接的请求将被阻塞,直到有连接被释放。

7. minIdle: 连接池中最小空闲连接数。 需要根据实际情况设置最小空闲连接数。如果连接池中空闲连接数少于minIdle,连接池会创建新的连接以达到minIdle。

8. maxIdle: 连接池中最大空闲连接数。 需要根据实际情况设置最大空闲连接数。如果连接池中空闲连接数超过maxIdle,连接池会关闭多余的连接以避免占用过多的资源。

9. maxWait: 获取连接时的最大等待时间。需要根据实际情况设置最大等待时间。如果连接池中没有可用连接且已经达到最大连接数,则应用程序获取连接的请求将被阻塞,最多等待maxWait毫秒。

10. timeBetweenEvictionRunsMillis: 间隔多久检测一次空闲连接(毫秒)。 需要根据实际情况设置检测间隔时间。连接池会定期检查空闲连接的状态,如果空闲时间超过minEvictableIdleTimeMillis,则将连接关闭。

11. minEvictableIdleTimeMillis: 连接池中连接最小空闲时间(毫秒)。 需要根据实际情况设置最小空闲时间。连接池会定期检查空闲连接的状态,如果空闲时间超过minEvictableIdleTimeMillis,则将连接关闭。

12. validationQuery: 用于检测连接是否有效的SQL语句。 需要根据实际情况设置SQL语句。连接池会使用这个SQL语句来检测连接是否有效。

13. testWhileIdle: 是否开启空闲连接的检测。 需要根据实际情况设置是否开启空闲连接的检测。如果开启,连接池会定期检查空闲连接的状态。

14. testOnBorrow: 是否开启连接的检测功能,在获取连接时检测连接是否有效。
需要根据实际情况设置是否开启连接的检测功能。如果开启,连接池在获取连接时会检查连接是否有效。

15. testOnReturn: 是否开启连接的检测功能,在归还连接时检测连接是否有效。 需要根据实际情况设置是否开启连接的检测功能。如果开启,连接池在归还连接时会检查连接是否有效。

16. poolPreparedStatements: 是否缓存PreparedStatement对象。需要根据实际情况设置是否缓存PreparedStatement对象。如果开启,连接池会缓存PreparedStatement对象以提高性能。

17. maxPoolPreparedStatementPerConnectionSize: 缓存PreparedStatement对象的最大数量。 需要根据实际情况设置缓存的最大数量。如果开启了缓存PreparedStatement对象,连接池会限制每个连接缓存的最大数量。

maxPoolPreparedStatementPerConnectionSize是Druid连接池的一个配置项,用于配置连接池中缓存的PreparedStatement的最大数量。PreparedStatement是预编译的SQL语句,可以提高SQL执行的效率和安全性,避免SQL注入等安全问题。在使用Druid连接池时,当开启了缓存PreparedStatement功能时,每个连接都会缓存一定数量的PreparedStatement对象,以便在需要执行SQL语句时能够快速获取。而maxPoolPreparedStatementPerConnectionSize就是用于配置每个连接中缓存的PreparedStatement的最大数量。需要注意的是,缓存PreparedStatement虽然可以提高SQL执行的效率,但同时也会占用一定的内存资源。因此,需要根据实际情况进行合理配置。默认情况下,该属性的值为10。在上面的配置中,maxPoolPreparedStatementPerConnectionSize: 20表示将每个连接中缓存的PreparedStatement的最大数量设置为20个。

18. filters: 配置监控统计用的filter,允许监控统计。 如果要使用Druid的监控功能,需要配置此项。stat表示使用Druid的监控功能。

19. connectionProperties: 配置扩展属性,用于监控统计分析SQL性能等。 druid.stat.mergeSql和druid.stat.slowSqlMillis是两个与SQL监控有关的属性。
druid.stat.mergeSql用于配置是否合并SQL。当该属性设置为true时,Druid会将相同的SQL语句合并为一条,以节省SQL统计的开销和提高统计精度。默认情况下,该属性的值为false。
druid.stat.slowSqlMillis用于配置SQL执行的时间阈值,单位为毫秒。当一条SQL执行的时间超过该阈值时,Druid会将该SQL记录到慢SQL列表中,以便进行分析和优化。默认情况下,该属性的值为3000毫秒。
在上面的配置中,druid.stat.mergeSql=true表示启用SQL合并功能,druid.stat.slowSqlMillis=5000表示将SQL执行的时间阈值设置为5000毫秒。这些属性的具体含义和配置方法,可以参考Druid的官方文档。文章来源地址https://www.toymoban.com/news/detail-608733.html

到了这里,关于数据库连接池druid参数详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据库连接问题】Java项目启动时无限异常com.alibaba.druid.pool.DruidDataSource : create connection SQLException

    Java项目启动失败, ERROR:com.alibaba.druid.pool.DruidDataSource : create connection SQLException 在此之前这个SpringBoot项目中使用的是单一数据库读写策略。今天尝试使用读写分离策略,在 application.yml 配置文件中加入了以下读写分离相关内容后启动项目失败。 根据网上的解决方法,初步怀

    2024年02月16日
    浏览(32)
  • 数据库连接池Druid

    在 Spring Boot 项目中,数据库连接池已经成为标配,然而,我曾经遇到过不少连接池异常导致业务错误的事故。很多经验丰富的工程师也可能不小心在这方面出现问题。 在这篇文章中,我们将探讨数据库连接池,深入解析其实现机制,以便更好地理解和规避潜在的风险。 假如

    2024年02月05日
    浏览(30)
  • Druid连接池实现数据库加密

    不难发现,以我们现在的开发习惯,无论是公司的项目还是个人的项目,都会选择将源码上传到 Git 服务器(GitHub、Gitee 或是自建服务器),但只要将源码提交到公网服务器就会存在源码泄漏的风险,而数据库配置信息作为源码的一部分,一旦出现源码泄漏,那么数据库中的

    2024年02月13日
    浏览(30)
  • Microsoft SQL Server 2019 下载、安装及Java JDBC配置连接数据库(多图详解 超详细)

    一、下载 下载链接Microsoft SQL Server 二、安装 1.找到刚刚下载的文件,双击打开后,选择基本并接受 2.选择接受 3.选择安装位置,并点击安装,然后等待下载安装完成 4.正在安装 -5.遇到了一个问题,重启一下(未遇到该问题的可忽略此步) 6.安装成功,点击安装SSMS 7.点击下载

    2024年02月04日
    浏览(92)
  • 数据库连接池(Druid(德鲁伊))

    在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤 在主程序(如servlet、beans)中建立数据库连接 进行sql操作 断开数据库连接   这种模式开发,存在的问题: 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection加载到内存

    2024年03月14日
    浏览(47)
  • 【八】spring boot集成数据库连接池druid

            最近在进行程序优化的过程中发现程序瓶颈在数据库连接这块,于是开始研究怎么对数据库连接池参数进行调优,在这个过程中发现很多人使用druid很不规范,经常会出现导入的包和配置参数不对应的情况,这些都是因为对集成druid一知半解导致的,因此决心写一

    2024年02月09日
    浏览(42)
  • SpringBoot整合Druid数据库连接池&多数据源&注解切换&动态添加

    配置好之后 Druid 会通过 DruidDataSourceAutoConfigure 自动装配 属性配置 数据源枚举 动态数据源 继承 AbstractRoutingDataSource 就可以实现动态数据源了 实现了一个动态数据源类的构造方法,主要是为了设置默认数据源,以及以Map保存的各种目标数据源。其中Map的key是设置的数据源名称

    2024年03月22日
    浏览(49)
  • PLSQL连接Oracle 数据库配置详解

    1. 下载instantclient-basic-win32-11.2.0.1.0 Oracle Instant Client - Free tools and libraries for connecting to Oracle Database (oracle官网下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html , 下载地址2:http://download.csdn.net/detail/czw2010/5732241)    2. 解压instantclient-basic-win32-11.2.0.1.0并放置在oracle安

    2024年02月07日
    浏览(46)
  • Springboot+dynamic-datasource+Druid数据库配置加密

    Springboot+mybatis-plus+dynamic-datasource+Druid数据库配置加密 背景 生产环境中, 为了保密,我们希望将数据库密码加密, 甚至用户名和jdbc连接串加密。本章我们使用由苞米豆(baomidou)团队开发的 dynamic-datasource 多数据源组件自带的加密工具实现数据库配置加密 从 dynamic-datasource-star

    2024年02月04日
    浏览(32)
  • 【Java 进阶篇】深入理解 JDBC:Java 数据库连接详解

    数据库是现代应用程序的核心组成部分之一。无论是 Web 应用、移动应用还是桌面应用,几乎都需要与数据库交互以存储和检索数据。Java 提供了一种强大的方式来实现与数据库的交互,即 JDBC(Java 数据库连接)。本文将深入探讨 JDBC 的各个方面,从基本概念到实际编程示例

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包