druiddatasource 方法_DruidDataSource详解(一)
資源復(fù)用是系統(tǒng)性能優(yōu)化中的一種常用手段,如單例,數(shù)據(jù)庫(kù)連接池,線程池等都是資源復(fù)用的常用技巧。 數(shù)據(jù)庫(kù)連接池的基本原理是在內(nèi)部對(duì)象池中維護(hù)一定數(shù)量的數(shù)據(jù)庫(kù)連接,并對(duì)外暴露數(shù)據(jù)庫(kù)連接獲取和返回方法
和dbcp類似,druid的配置項(xiàng)如下
DruidDataSource配置
filters:屬性類型是字符串,通過別名的方式配置擴(kuò)展插件,常用的插件有:監(jiān)控統(tǒng)計(jì)
用的filter:stat日志用的filter:log4j,防御sql注入的filter:wall
initialSize:初始化時(shí)建立物理連接的個(gè)數(shù)。初始化發(fā)生在顯示調(diào)用init方法,或者第一
次getConnection時(shí)
maxActive:最大連接池?cái)?shù)量
minIdle:最小連接池?cái)?shù)量
maxWait:獲取連接時(shí)最大等待時(shí)間,單位毫秒。配置了maxWait之后,缺省啟用公平鎖,并發(fā)效率會(huì)有所下降,如果需要可以通過配置useUnfairLock屬性為true使用非公平鎖
poolPreparedStatements: 是否緩存preparedStatement,也就是PSCache。PSCache對(duì)支持游標(biāo)的數(shù)據(jù)庫(kù)性能提升巨大,比如說oracle。在mysql下建議關(guān)閉。
validationQuery:用來檢測(cè)連接是否有效的sql,要求是一個(gè)查詢語句,常用select 'x'。如果validationQuery為null,testOnBorrow、testOnReturn、testWhileIdle都不會(huì)起作用
validationQueryTimeout:單位秒,檢測(cè)連接是否有效的超時(shí)時(shí)間。底層調(diào)用jdbc Statement對(duì)象的void setQueryTimeout(
總結(jié)
以上是生活随笔為你收集整理的druiddatasource 方法_DruidDataSource详解(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu系统从机械硬盘迁移到SSD
- 下一篇: wifi搜索不到连接不上的问题(企业局域