資料庫連線池簡介

2021-08-24 19:06:35 字數 947 閱讀 5444

資料庫連線是一種關鍵的有限的昂貴的資源,這一點在多使用者網頁應用程式中尤為突出。對資料庫連線的管理能顯著影響到整個應用程式的伸縮性和健壯性,影響到程式的效能指標。資料庫連線池正是針對這個問題提出來的。

資料庫連線池負責分配管理和釋放資料庫連線,它允許應用程式重複使用乙個現有的資料庫連線,而不是再重新建乙個。釋放空閒時間超過最大空閒時間的資料庫連線,來避免因為沒有釋放資料庫連線而引起的資料庫連線遺漏。這項技術能明顯提高資料庫的效能。

資料庫連線池在初始化時將一定量資料庫連線放到連線池中,這些資料庫連線的數量由最小資料庫連線數來設定的。無論資料庫連線是否被使用,連線池一直保證至少擁有這麼多的連線數量。連線池的最大資料庫連線數量限定了這個連線池咱有的最大連線數,當應程式向連線池請求的連線數超過最大連線數時, 這些請求被加入到等待佇列中。資料庫連線池的最小連線數和最大連線數的設定考慮到以下幾個因素。

1)最小連線數是連線池一直保持的資料庫連線,所以如果應用對資料庫使用不大,將會有大量的資料庫連線資源被浪費。

2)最大連線數是連線池能申請的最大連線數,如果資料連線數超過此數,後面的資料庫連線被加入到等待的佇列中,這會影響之後的資料庫操作。

3)如果最小連線數和最大連線數相差太大,那麼最先的連線請求將獲利,之後超過最小連線數量的連線請求等價於建立乙個新的連線。不過, 這些大於最小連線新建的資料庫連線在使用完不會被馬上釋放,它將被放到資料庫連線池中等待重複使用或空閒釋放。

在傳統的兩層結構中,客戶端程式啟動時開啟資料庫連線,在退出程式時關閉連線。這樣 , 在整個程式執行中,每個客戶端始終占用乙個資料庫連線。即使在大量沒有資料庫操作的空閒時間,如使用者輸入資料時,從而造成資料連線的使用效率低下。

在三層結構模型中,資料庫連線通過中間層的連線池管理。只有使用者真正需要資料庫操作時,中階層才從連線池申請乙個連線,資料庫造作完畢,連線立即釋放到連線池中, 以供其他使用者使用。這樣, 不僅大大提高了資料庫連線的使用效率,使得大量使用者可以共享較少的資料庫連線,而且省去了建立連線的時間。

資料庫連線池簡介

資料庫連線是一種關鍵的有限的昂貴的資源,這一點在多使用者的網頁應用程式中體現得尤為突出。對資料庫連線的管理能顯著影響到整個應用程式的伸縮性和健壯性,影響到程式的效能指標。資料庫連線池正是針對這個問題提出來的。資料庫連線池負責分配 管理和釋放資料庫連線,它允許應用程式重複使用乙個現有的資料庫連線,而再...

資料庫連線池 Redis連線池

基本原理 在內部物件池中,維護一定數量的資料庫連線,並對外暴露資料庫連線的獲取和返回方法。如外部使用者可通過getconnection方法獲取資料庫連線,使用完畢後再通過releaseconnection方法將連線返回,注意此時的連線並沒有關閉,而是由連線池管理器 並為下一次使用做好準備。2.作用 ...

資料庫連線池

實現資料連線池,讓系統有更高有執行效率 using system using system.data using system.data.sqlclient using system.collections using system.threading public class dataaccess...