2014-01-13 36 views
1

框架或應用程序自動連接數據庫,我們必須使用數據庫對象進行與數據庫相關的操作。在CMS或框架中,術語「連接池」非常流行。您可以選擇CMS或PHP框架。什麼是應用程序中的連接池?

  • 什麼是連接池?
  • 有人可以用一個例子來描述這個嗎?
  • 連接池的優點是什麼?

回答

6

沒有連接池:

你想談論到數據庫中每一次,你必須打開一個連接,使用它,然後再次關閉。

使用連接池:

的連接保持打開所有的時間(在游泳池)。當你想和數據庫交談時,你已經建立了一個連接,這個連接還沒有被使用,使用它,然後放回去。

這是更有效,然後打開和關閉他們所有的時間。

+0

我很想知道系統如何處理它?系統如何識別開放連接?連接如何保持開放?如何定義池的大小? – ursitesion

3

連接池通常指的是擁有正在被重用的連接池。將其與非集中連接進行對比:通常每個程序實例在每次運行時都會自行連接到數據庫。在PHP程序中,您只需連接到數據庫的行$db = new PDO(...)。如果您有100位同時訪問者,則該腳本的100個單獨實例將同時運行,並且將同時建立100個單獨的連接到數據庫。這可能是非常低效的和/或暫時壓倒數據庫服務器。

連接池的工作原理是建立數據庫的50個永久連接,該連接始終保持打開狀態。一個PHP腳本只需選擇其中一個打開的連接就可以與數據庫交談,並在完成後將其放回池中。如果突然有超過50個PHP腳本嘗試同時使用該池中的連接,則前50個將成功,其餘的將不得不排隊等待,直到有未使用的連接可用。這樣更有效,因爲連接並不總是一直打開和關閉,並且在出現突發高峯時不會壓倒數據庫服務器。

+0

我已更新我的問題... – ursitesion

相關問題