mysql是乙個tcp/ip協議的網路程式,如果我們每次都從資料庫獲取新的連線,那麼:
這樣每次高成本獲取的連線只用一次,太奢侈了;另外,如果有很多的客戶端同時去連線mysql伺服器,會造成mysql的併發量就有風險,如果太多就會掛了。特別是遇到一些程式設計師,獲取完連線,沒有關閉的情況。
資料庫連線池的技術的原理:先建立乙個連線池pool,然後在池中初始化少量的連線物件,當程式獲取連線物件時,用池中已有的物件,會快很多。等使用者併發量上來後,會增加連線數,直到最高連線數為止。之前conn.close()真正的與伺服器斷開連線,現在從連線池中拿的連線物件,關閉時是還給連線池。可以設定連線池的最大連線數量,如果池中的所有連線都在使用的話,那麼可以讓「客戶端」等待,雖然有等待的現象,但是總比每次使用都建立之後銷毀了效能高。
針對這個問題,我們可以採用「資料庫連線池」來解決。連線池技術有很多,druid是其中比較優秀的,它是阿里推出的,它不僅僅為資料來源,還能sql攔截等功能。
本部落格示例中用到的dept類,請參考:dept源**
druid資料庫連線池
一 池的理解 二 druid的特點 1.druid的誕生時間在dbcp,c3p0 hibernate 之後,吸取優點,彌補了不足。2.druid在效能方面也相當優秀。3.druid允許檢視或者以日誌的方式列印出sql語句。對查錯和除錯非常直觀。4.druid的核心,監控而生 對sql執行監控非常精細...
Druid資料庫連線池
連線池的好處 1 資源重用 2.更快的系統反應速度 3.新的資源分配手段 4.統一的連線管理,避免資料庫連線洩漏 datasource 通常被稱為資料來源,它包含連線池和連線池管理兩個部分。datasource用來取代drivermanager來獲取connection,獲取速度快,同時可以大幅度提...
使用druid資料庫連線池
druid是目前比較流行的資料庫連線池,不管是效能還是各項功能都超越其他連線池,有文章介紹各個連線池效能對比如下 hikaricp druid tomcat jdbc dbcp c3p0。druid不僅具有良好的效能,而且還有sql攔截等功能,並提供介面與介面進行sql分析與統計。com.aliba...