亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

何為數(shù)據(jù)庫連接池?其工作原理是什么?

來源:神探狄仁杰 發(fā)布時間:2019-03-27 17:45:29 閱讀量:1088

連接池用于創(chuàng)建和管理數(shù)據(jù)庫連接的緩沖池技術(shù),緩沖池中的連接可以被任何需要他們的線程使用。當(dāng)一個線程需要用JDBC對一個數(shù)據(jù)庫操作時,將從池中請求一個連接。當(dāng)這個連接使用完畢后,將返回到連接池中,等待為其他的線程服務(wù)。

 

        連接池的主要優(yōu)點有以下三個方面。

 

        第一、減少連接創(chuàng)建時間。連接池中的連接是已準(zhǔn)備好的、可重復(fù)使用的,獲取后可以直接訪問數(shù)據(jù)庫,因此減少了連接創(chuàng)建的次數(shù)和時間。

 

        第二、簡化的編程模式。當(dāng)使用連接池時,每一個單獨的線程能夠像創(chuàng)建一個自己的JDBC連接一樣操作,允許用戶直接使用JDBC編程技術(shù)。

 

        第三、控制資源的使用。如果不使用連接池,每次訪問數(shù)據(jù)庫都需要創(chuàng)建一個連接,這樣系統(tǒng)的穩(wěn)定性受系統(tǒng)連接需求影響很大,很容易產(chǎn)生資源浪費和高負(fù)載異常。連接池能夠使性能最大化,將資源利用控制在一定的水平之下。連接池能控制池中的連接數(shù)量,增強(qiáng)了系統(tǒng)在大量用戶應(yīng)用時的穩(wěn)定性。

 

        下面,簡單的闡述下連接池的工作原理。

 

         連接池技術(shù)的核心思想是連接復(fù)用,通過建立一個數(shù)據(jù)庫連接池以及一套連接使用、分配和管理策略,使得該連接池中的連接可以得到高效、安全的復(fù)用,避免了數(shù)據(jù)庫連接頻繁建立、關(guān)閉的開銷。

 

        連接池的工作原理主要由三部分組成,分別為連接池的建立、連接池中連接的使用管理、連接池的關(guān)閉。

 

        第一、連接池的建立。一般在系統(tǒng)初始化時,連接池會根據(jù)系統(tǒng)配置建立,并在池中創(chuàng)建了幾個連接對象,以便使用時能從連接池中獲取。連接池中的連接不能隨意創(chuàng)建和關(guān)閉,這樣避免了連接隨意建立和關(guān)閉造成的系統(tǒng)開銷。Java中提供了很多容器類可以方便的構(gòu)建連接池,例如VectorStack等。

 

        第二、連接池的管理。連接池管理策略是連接池機(jī)制的核心,連接池內(nèi)連接的分配和釋放對系統(tǒng)的性能有很大的影響。其管理策略是:

 

        當(dāng)客戶請求數(shù)據(jù)庫連接時,首先查看連接池中是否有空閑連接,如果存在空閑連接,則將連接分配給客戶使用;如果沒有空閑連接,則查看當(dāng)前所開的連接數(shù)是否已經(jīng)達(dá)到最大連接數(shù),如果沒達(dá)到就重新創(chuàng)建一個連接給請求的客戶;如果達(dá)到就按設(shè)定的最大等待時間進(jìn)行等待,如果超出最大等待時間,則拋出異常給客戶。

 

        當(dāng)客戶釋放數(shù)據(jù)庫連接時,先判斷該連接的引用次數(shù)是否超過了規(guī)定值,如果超過就從連接池中刪除該連接,否則保留為其他客戶服務(wù)。

 

        該策略保證了數(shù)據(jù)庫連接的有效復(fù)用,避免頻繁的建立、釋放連接所帶來的系統(tǒng)資源開銷。

 

        第三、連接池的關(guān)閉。當(dāng)應(yīng)用程序退出時,關(guān)閉連接池中所有的連接,釋放連接池相關(guān)的資源,該過程正好與創(chuàng)建相反。


分享:
評論:
你還沒有登錄,請先