国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

連接池技術ConnectionPooling

2019-11-14 16:41:28
字體:
來源:轉載
供稿:網友

 

原創地址:http://m.survivalescaperooms.com/jfzhu/p/3705703.html

轉載請注明出處

 

數據庫建立一個物理連接是一個很耗時的任務,所以無論是ADO.NET還是J2EE都提供了一個連接池的技術。

 

一個池其實就是一個列表。在ADO.NET中,有一個Connection Manager,它對每一個connection string都管理著一個可用連接的列表,這個列表就是Connection Pool。

 

當第一次數據庫連接被初始化時,connection manager會創建一個Connection Pool Group。當第一次連接被打開的時候,才會創建第一個connection pool。一個連接正在被使用中,就會從connection pool中移除;如果使用完(被close或dispose),就會再返回到connection pool中去,以待下一個連接請求使用,所以我們要清楚一個概念,close connection的動作只是關閉了邏輯連接,但并沒有關閉物理連接。

 

在ADO.NET中,默認情況下,一個連接返回到connection pool中,會有4到8分鐘的空閑時間,超過這個時間,就會關閉物理連接。如果你的程序有很長時間的空閑時間,你應該確保至少有一個可用的數據庫連接,可以通過設置Min Pool Size為1來實現。

 

另外決定是否一個連接使用的是相同connection string的決定性參數為以下幾個:

  • Connection Timeout
  • Min Pool Size
  • Max Pool Size
  • Pooling
  • Connection Reset
  • Load Balancing Timeout(Connection Lifetime)
  • Enlist

每當Connection Manager收到一個新的數據庫連接請求時,它就會走下面的流程:

 

最后Entity Framework會幫你管理connection pool,所以不用擔心數據庫連接的效率問題。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合川市| 蒲城县| 拜泉县| 葫芦岛市| 凭祥市| 金寨县| 卢氏县| 梅州市| 名山县| 潼关县| 板桥市| 延寿县| 井冈山市| 通道| 白城市| 台前县| 玛多县| 崇信县| 灵丘县| 禹州市| 赣州市| 建昌县| 同江市| 肇源县| 乌鲁木齐县| 彭泽县| 焉耆| 乐都县| 四平市| 资阳市| 响水县| 牡丹江市| 武乡县| 靖江市| 新晃| 温宿县| 屯门区| 斗六市| 常山县| 容城县| 许昌县|