Druid配置大全

news/2024/12/24 10:21:10/文章来源:https://www.cnblogs.com/life-time/p/18626767

配置

配置 缺省值 说明
name - 配置这个属性的意义在于,如果存在多个数据源,监控时可以通过名字来区分开来 。 如果没有配置,将会生成一个名字,格式是: "DataSource-" + System.identityHashCode(this) . 另外配置此属性至少在 1.0.5 版本中是不起作用的,强行设置 name 会出错 。
url - 连接数据库的url
username - 连接数据库的用户名
password - 连接数据库的密码
driverClassName 根据 url 自动识别 这一项可配可不配,如果不配置 druid 会根据 url 自动识别 dbType ,然后选择相应的 driverClassName。
initialSize 0 初始化时建立物理连接的个数 。 初始化发生在显示调用 init 方法,或者第一次 getConnection 时。
maxActive 8 最大连接池数量。
maxIdle 8 已废弃
minIdle - 最小连接池数量。
maxWait - 获取连接时最大等待时间,单位毫秒 。 配置了 maxWait 之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置 useUnfairLock 属性为 true 使用非公平锁 。
poolPreparedStatements false 是否缓存 preparedStatement ,也就是 PSCache。PSCache 对支持游标的数据库性能提升巨大,比如说 oracle。 在 mysql 下建议关闭 。
maxPoolPreparedStatementPerConnectionSize -1 要启用 PSCache ,必须配置大于 0 ,当大于 0 时, poolPreparedStatements 自动触发修改为 true。 在 Druid 中,不会存在 Oracle 下 PSCache 占用内存过多的问题,可以把这个数值配置大一些,比如说 100 。
validationQuery - 用来检测连接是否有效的 sql ,要求是一个查询语句,常用 select 'x'。 如果 validationQuery 为 null , testOnBorrow、testOnReturn、testWhileIdle 都不会起作用 。
validationQueryTimeout - 单位:秒,检测连接是否有效的超时时间 。 底层调用 jdbc Statement 对象的 void setQueryTimeout(int seconds) 方法。
testOnBorrow true 申请连接时执行 validationQuery 检测连接是否有效,做了这个配置会降低性能 。
testOnReturn false 归还连接时执行 validationQuery 检测连接是否有效,做了这个配置会降低性能 。
testWhileIdle false 建议配置为 true ,不影响性能,并且保证安全性 。 申请连接时检测,如果空闲时间大于 timeBetweenEvictionRunsMillis ,执行 validationQuery 检测连接是否有效 。
keepAlive false(1.0.28+) 连接池中的 minIdle 数量以内的连接,空闲时间超过 minEvictableIdleTimeMillis ,则会执行 keepAlive 操作 。
timeBetweenEvictionRunsMillis 1分钟(1.0.14+) 有两个含义: 1) Destroy 线程会检测连接的间隔时间,如果连接空闲时间大于等于 minEvictableIdleTimeMillis 则关闭物理连接 。 2) testWhileIdle 的判断依据,详细看 testWhileIdle 属性的说明。
numTestsPerEvictionRun 30分钟(1.0.14+) 不再使用,一个 DruidDataSource 只支持一个 EvictionRun 。
minEvictableIdleTimeMillis - 连接保持空闲而不被驱逐的最小时间。
connectionInitSqls - 物理连接初始化时执行的 sql 。
exceptionSorter 根据 dbType 自动识别 当数据库抛出一些不可恢复的异常时,抛弃连接。
filters - 属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有: 监控统计用的 filter:stat 日志用的 filter:log4j 防御 sql 注入的 filter:wall 。
proxyFilters - 类型是List<com.alibaba.druid.filter.Filter>,如果同时配置了 filters 和 proxyFilters ,是组合关系,并非替换关系。
asyncInit false(1.1.4+) 如果 initialSize 数量较多时,打开会加快应用启动时间。
useUnfairLock false 是否使用非公平锁。需要平衡锁的公平和效率的关系。在连接不够用,发生争用时, unfair 模式的 ReentrantLock.tryLock 方法会存在严重不公的现象,个别线程会等到超时了还获取不到连接 。 0.2.8+ 能够兼顾性能和公平性。

参考文献

  • Druid配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858015.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS安装GitLab社区版

官方文档给出的下载链接,貌似下不动。 因此选择使用清华大学的镜像站来下载社区版的GitLab https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ 于/etc/gitlab/gitlab.rb配置文件处,修改你的GitLab访问地址 默认GitLab访问地址是:external_url http://gitlab.example.c…

微信小程序云开发 校园二手交易平台

1.组员分工 在这个校园二手交易平台小程序中,我们组有着非常明细的分工。组内一共有四人,分别是祝辰、林炜辰、秦盼盼、吕冠逾,接下来我会一一描述分工。 祝辰:第七组的组长,主要整个软件项目工程的进度协调。在软件项目初期,主要负责用户图、类图、书序图的绘制,明确项…

冬季双旦节,宠物行业市场部用啥办公软件最佳?

随着冬季双旦节的临近,宠物行业迎来了业务的高峰期。在这个关键时期,仓储物流环节的高效运作对于满足宠物用品市场需求、提升客户满意度以及实现企业业绩增长起着举足轻重的作用。合适的可视化团队协作办公软件能够助力宠物公司更好地管理仓储物流,精准调配资源。本文将为宠…

小迪安全-基础入门-APP应用微信小程序原生态开发H5+Vue技术WEB封装打包反编译抓包点

APP应用&微信小程序&原生态开发&H5+Vue技术&WEB封装打包&反编译抓包点知识点: 1、基础入门-APP应用-开发架构安全问题 2、基础入门-小程序应用-开发架构安全问题 通用: 1、反编译-得到源码-源码提取资产(泄漏的配置信息)-安全测试 2、抓包-资产-安全测…

SARscape自动形变建模工具的使用

SARscape形变建模工具可利用InSAR形变数据或者大地测量数据和GPS作为数据源进行反演建模,可反演求出滑动/裂缝分布;利用构造源计算矩张量,得到形变机制图。可对构造变化(如地震等)、火山源和核爆炸等直接反演建模。 SARscape6.1推出自动建模工具,它能够自主执行非线性和线…

PostgreSQL 的特点

title: PostgreSQL 的特点 date: 2024/12/24 updated: 2024/12/24 author: cmdragon excerpt: PostgreSQL 是当今最流行的开源关系型数据库之一,凭借其优秀的性能、稳定性和丰富的功能集在用户群中享有极高声誉。相比于其他关系型数据库管理系统,PostgreSQL 拥有许多独特的特…

高效物流管理:项目管理工具如何助力快速响应

一、物流行业的痛点 物流行业的管理面临着复杂的任务、庞大的数据量和高度动态的工作环境,以下是一些主要的痛点: 1.任务与进度难以实时跟踪 在物流企业中,任务通常涉及多个环节,包括货物调度、仓储管理、配送规划、运输监控等。这些任务往往由不同部门或团队共同完成,任务…

2024.12.23 周一

2024.12.23 周一Q1. 1100 Alice and Bob are playing a game. They have an array $a_1, a_2,\ldots,a_n$. The game consists of two steps:First, Alice will remove at most $k$ elements from the array. Second, Bob will multiply at most $x$ elements of the array by …

yum源一键安装脚本

一、本地yum源镜像挂载到本地mkdir /mnt/cdrom mount /dev/sr0 /mnt/cdrom/ [root@test yum.repos.d]# df -h ...... /dev/sr0 4.4G 4.4G 0 100% /mnt/centos7将原有源进行备份(处理方式自行决定)cd /etc/yum.repos.d && mkdir bak && …

创建响应式数据

创建响应式数据 Vue2中 ​ 在vue2中数据写在对应的data中就是响应式的。 Vue3 ref :可以定义基本类型的响应式数据 先要导入对应的ref,然后才能使用 import {ref} from vue​ 作用:定义响应式变量。 ​ 语法:let xxx = ref(初始值)。 ​ 返回值:一个RefImpl的实例对象…

【深度剖析】自主可控的全国产方案,基于龙芯LS2K1000LA-i!

龙芯LS2K1000LA-i产品简介 LS2K1000LA-i是龙芯双核LoongArch LA264自主架构处理器。创龙科技基于LS2K1000LA-i设计的工业核心板(SOM-TL2K1000)板载的CPU、ROM、RAM、电源、晶振、连接器等所有元器件均采用国产工业级方案,国产化率100%。 此外,创龙科技基于LS2K1000LA-i设计的…

协作文档让销售工作事半功倍的秘密

在现代医疗销售行业中,高效协同是成功的关键。无论是销售方案的制定,客户拜访记录的共享,还是跨部门的合作,在线协作文档正在成为推动团队效率和精准度的核心工具。特别是在医疗销售这种信息密集型领域,在线协作文档不仅改变了团队的沟通方式,更重塑了销售流程,助力企业…