Druid-目前最好的連線池
轉載自 Druid-目前最好的連線池
Druid是什麼
Druid是阿里開源的連線池,是Java語言中最好的資料庫連線池.Druid能夠提供強大的監控和擴充套件功能,是為監控而生的資料庫連線池!
GitHub:https://github.com/alibaba/druid/
新增依賴
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.2</version> </dependency>
參考配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本屬性 url、user、password --> <property name="url" value="${jdbc_url}" /> <property name="username" value="${jdbc_user}" /> <property name="password" value="${jdbc_password}" /> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="1" /> <property name="minIdle" value="1" /> <property name="maxActive" value="20" /> <!-- 配置獲取連線等待超時的時間 --> <property name="maxWait" value="60000" /> <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一個連線在池中最小生存的時間,單位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="validationQuery" value="SELECT 'x'" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <!-- 開啟PSCache,並且指定每個連線上PSCache的大小 --> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> <!-- 配置監控統計攔截的filters --> <property name="filters" value="stat" /> </bean>
通常來說,只需要修改initialSize、minIdle、maxActive。
如果用Oracle,則把poolPreparedStatements配置為true,mysql可以配置為false。分庫分表較多的資料庫,建議配置為false。
連線池監控
在web.xml中加入以下配置:
<!-- Druid連線池監控 --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping> <filter> <filter-name>DruidWebStatFilter</filter-name> <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class> <init-param> <param-name>exclusions</param-name> <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value> </init-param> </filter> <filter-mapping> <filter-name>DruidWebStatFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
非常強大的監控頁面!
相關文章
- 連線池
- Tomcat 的 JDBC 連線池TomcatJDBC
- HTTP連線池HTTP
- django連線池Django
- Http持久連線與HttpClient連線池HTTPclient
- 連線池和連線數詳解
- HikariCP連線池的學習
- golang連線MySQL時候的連線池設定GolangMySql
- 自定義連線池
- ElasticSearch連線池建立Elasticsearch
- ServiceStack.Redis的原始碼分析(連線與連線池)Redis原始碼
- C#中的連線池管理C#
- Swoole MySQL 連線池的實現MySql
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- Golang SQL連線池梳理GolangSQL
- go 語言連線池Go
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- 設計一個可靠的連線池
- HikariCP-史上最快速的連線池
- 【JDBC】java連線池模擬測試 連線oracleJDBCJavaOracle
- 【JDBC】使用OracleDataSource建立連線池用於連線OracleJDBCOracle
- 4、資料庫連線池的概念及C3P0、Uruid兩種連線池的使用資料庫UI
- 資料庫連線池原理資料庫
- Python實現MySQL連線池PythonMySql
- Flask資料庫連線池Flask資料庫
- cx_Oracle.SessionPool 連線池OracleSession
- MOSN 原始碼解析 - 連線池原始碼
- python資料庫連線池Python資料庫
- Spring系列之HikariCP連線池Spring
- Java篇-DBUtils與連線池Java
- 安裝配置PGBouncer連線池
- swoole連線池原理解釋
- 某客戶系統tomcat連線池連線異常Tomcat
- Golang 連線池的幾種實現案例Golang
- 基於 swoole 協程的 MySQL 連線池MySql
- druid資料庫連線池的配置類UI資料庫
- 基於swoole的mysql連線池實現MySql