數據庫連接池的簡單

1.沒有連接池的現狀

之前JDBC訪問數據庫的步驟創建數據庫連接運行SQL語句關閉連接 每次數據庫訪問執行這樣重複的動作

每次創建數據庫連接的問題

  • 獲取數據庫連接需要消耗比較多的資源,而每次操作都要重新獲取新的連接對象,執行一次操作就把連接關閉,而數據庫創建連接通常需要消耗相對較多的資源,創建時間也較長。這樣數據庫連接對象的使用率低。

  • 假設網站一天10萬訪問量,數據庫服務器就需要創建10萬次連接,極大的浪費數據庫的資源,並且極易造成數據庫服務器內存溢出

2.連接池的概念: 連接池是創建和管理數據庫連接的緩衝池技術。連接池就是一個容器,連接池中保存了一些數據庫連接,這些連接是可以重複使用的。

3.連接池解決現狀問題的原理

  1. 程序一開始就創建一定數量的連接,放在一個容器中,這個容器稱爲連接池(相當於碗櫃/容器)。

  2. 使用的時候直接從連接池中取一個已經創建好的連接對象。

  3. 關閉的時候不是真正關閉連接,而是將連接對象再次放回到連接池中。

4.連接池好處

連接池中保存了一些數據庫連接,這些連接是可以重複使用的。節省數據庫的資源消耗。

5.常用連接池的介紹

javax.sql.DataSource表示數據庫連接池,是JDK中提供的一個接口,沒有具體的實現,它的實現由連接池的數據庫廠商去實現。我們只需要學習這個工具如何使用即可。

public interface DataSource {
    Connection getConnection();
}

常用的連接池實現組件有以下這些:

  1. 阿里巴巴-德魯伊Druid連接池:Druid是阿里巴巴開源平臺上的一個項目

  2. C3P0是一個開源的JDBC連接池,目前使用它的開源項目有Hibernate,Spring等。

  3. DBCP(DataBase Connection Pool)數據庫連接池,是Apache上的一個Java連接池項目,也是Tomcat使用的連接池組件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章