一、為什麼要使用數據庫連接池?
數據庫連接資源是非常昂貴的,特別是訪問數據庫需要通過網絡的時候,更能體現。單純的物理連接,會造成性能低下。
所以引入了數據庫連接池的概念,連接池盡可能的重用了資源,大大節省了內存。提高了程序的性能。
同時也可以對數據庫連接池實現更加個性化的管理。
二、數據庫連接池?
基本思想就是“緩沖池”。相當於架設在應用程序與數據庫之前的一個橋梁。最開始的時候,我們直接從數據庫中獲取連接,
現在我們從緩沖池中獲取連接。同時對於這個“緩沖池”可以進行控制。
三、數據庫連接池工作原理?
連接池的工作原理主要由三部分組成,分別為連接池的建立、連接池中連接的使用管理、連接池的關閉。
第一、連接池的建立。一般在系統初始化時,連接池會根據系統配置建立,並在池中創建了幾個連接對象,以便使用時能從連接池中獲取。
連接池中的連接不能隨意創建和關閉,這樣避免了連接隨意建立和關閉造成的系統開銷。
第二、連接池的管理。連接池管理策略是連接池機制的核心,連接池內連接的分配和釋放對系統的性能有很大的影響。
其管理策略是:
當客戶請求數據庫連接時,首先查看連接池中是否有空閒連接,如果存在空閒連接,則將連接分配給客戶使用;
如果沒有空閒連接,則查看當前所開的連接數是否已經達到最大連接數,如果沒達到就重新創建一個連接給請求的客戶;
如果達到就按設定的最大等待時間進行等待,如果超出最大等待時間,則拋出異常給客戶。
當客戶釋放數據庫連接時,先判斷該連接的引用次數是否超過了規定值,如果超過就從連接池中刪除該連接,否則保留為其他客戶服務。
該策略保證了數據庫連接的有效復用,避免頻繁的建立、釋放連接所帶來的系統資源開銷。
第三、連接池的關閉。當應用程序退出時,關閉連接池中所有的連接,釋放連接池相關的資源,該過程正好與創建相反。
四、常見的數據庫連接池
C3P0
DBCP
五、用圖說話