摘要:目前主流的數據庫連接池有等幾種。默認值初始化連接池中的連接數,取值應在與之間,默認為最大空閑時間秒內未使用則連接被丟棄。當連接池中的連接耗盡的時候一次同時獲取的連接數。每秒檢查所有連接池中的空閑連接。
一、數據庫連接池
數據庫連接池的基本思想就是為數據庫連接建立一個緩沖池,預先在緩沖池中放入一定數量的連接,當需要建立數據庫連接時,只需要從“緩沖池”中取出一個,使用完之后在放回去,節省連接建立、釋放過程中的資源、時間消耗。
目前主流的數據庫連接池有DBCP、C3P0、DRUID等幾種。
DBCP來自apache家族,是基于common-pool對象池機制的數據庫連接池,目前有三個不同的版本支持不同的JDBC規范:
DBCP v1.3版本(JDBC3)
DBCP v1.4版本(JDBC4)
DBCP v2.X版本(JDBC4.1)
DBCP2 代表的也就是2.X版本,相比較于1.x版本,性能有了較大提升,支持JMX和一些新特性;DBCP2.X和DBCP1.x是不兼容的,包括具體配置上面的參數也有些不同;項目引用的類名稱、maven倉庫的位置坐標也不一樣。
2、C3P0C3P0 支持JDBC3規范和JDBC2的標準擴展; 在hibernate項目中使用的比較多;
3、DRUIDDruid 是阿里巴巴開源平臺上一個數據庫連接池實現,除了數據庫連接池外,還提供了一系列內置的jdbc組件,可以監控DB連接池和sql執行情況。
二、主要區別1、c3p0提供最大空閑時間,當連接超過最大空閑連接時間,當前連接就會被斷掉。
2、DBCP提供最大連接數,當連接數超過最大連接數時候,所有連接都會被斷開。
3、Druid結合了C3P0、DBCP的優點,同時針對不同的數據庫,在實現上有針對性的優化。
1、Druid除了連接池,監控功能也不錯,便于優化,一般情況下推薦使用;
2、如果使用的是oracle數據庫,不建議使用c3p0,因為c3p0不遵循LRU;
spring中datasource的配置分別如下:
1、DBCP配置2、DBCP2配置
3、C3P0配置
4、DRUID配置
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69594.html
摘要:你僅僅需要一個大小為數據庫連接池,然后讓剩下的業務線程都在隊列里等待就可以了。你應該經常會看到一些用戶量不是很大的應用中,為應付大約十來個的并發,卻將數據庫連接池設置成,的情況。請不要過度配置您的數據庫連接池的大小。 文章翻譯整理自: https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing歡迎關注個人微信公眾...
摘要:你僅僅需要一個大小為數據庫連接池,然后讓剩下的業務線程都在隊列里等待就可以了。你應該經常會看到一些用戶量不是很大的應用中,為應付大約十來個的并發,卻將數據庫連接池設置成,的情況。請不要過度配置您的數據庫連接池的大小。 文章翻譯整理自: https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing歡迎關注個人微信公眾...
摘要:前言由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 前言 由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 由于更新比較頻繁,因此隔一段時間才會更新目錄導航哦~想要獲取最新原創的技術文章歡迎關注我的公眾號:Java3y Java3y文章目錄導航 Java基礎 泛型就這么簡單 注解就這么簡單 Druid數據庫連接池...
閱讀 3205·2021-11-17 09:33
閱讀 3288·2021-11-15 11:37
閱讀 2950·2021-10-19 11:47
閱讀 3199·2019-08-29 15:32
閱讀 1002·2019-08-29 15:27
閱讀 1526·2019-08-29 13:15
閱讀 932·2019-08-29 12:47
閱讀 2023·2019-08-29 11:30