關於連線池寫法的一點總結(二)

2021-06-15 21:42:39 字數 434 閱讀 1112

為什麼要使用連線池?

資料庫連線的建立及關閉對系統而言是耗費系統資源的操作,在多層結構的應用環境中,這種耗費資源的動作對系統的效能影響尤為明顯。在傳統的資料庫連線方式(指通過drivermanager)中,乙個資料庫連線物件均對應乙個物理資料庫連線,每次操作都開啟乙個物理連線,使用完都關閉連線,這樣造成系統的效能低下。

資料庫連線池的解決方案是在應用程式啟動時建立足夠的資料庫連線,並講這些連線組成乙個連線池,由應用程式動態地對池中的連線進行申請、使用和釋放。對於多於連線池中連線數的併發請求,應該在請求佇列中排隊等待。並且應用程式可以根據池中連線的使用率,動態增加或減少池中的連線數。

連線池技術盡可能多地重用了消耗記憶體地資源,大大節省了記憶體,提高了伺服器地服務效率,能夠支援更多的客戶服務。通過使用連線池,將大大提高程式執行效率,同時,我們可以通過其自身的管理機制來監視資料庫連線的數量、使用情況等。

關於MongoDB的一點總結

今天推送引擎註冊在dubbo上的服務總是自動會關閉掉,查了一下發現是system.in.read 的原因,導致自動關閉。但是還是不太明白,別人執行spring的時候,只要啟動以後就不會自動關閉,而我的spring剛啟動就關閉了,找了半天都沒有解決,沒辦法,只好用了最笨的方法 while true 而...

關於演算法的一點總結

分解問題的角度 fix 某一維度,嘗試另一維度上的所有可能 a.可能是array的 i,j pointers,b.可能是矩形的長與寬,c.可能是tree的每乙個subtree,d.可能是情景題的每一對pair 求所有解的,暴力上backtracking吧 如果問最短 最少的,先想bfs dp這對好 ...

關於多執行緒的一點總結

昨天又在toplanguage上看到一些關於輕量級執行緒的討論,於是對其中很有用的一段話轉過來 記錄下來以供自己日後慢慢研究。下面是由red.gmail.com發表在toplanguage上的 1.process per connection thread per connection 這在連線數不...