日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

回憶前篇文章我們已經(jīng)知道給MySQL創(chuàng)建用戶時候,需要創(chuàng)建用戶名和允許連接服務(wù)器的主機(jī),這就說明了我們登錄數(shù)據(jù)庫不一定是本地連接,還包括遠(yuǎn)程連接,那么當(dāng)遠(yuǎn)程連接時候,那么就需要建立網(wǎng)絡(luò)來進(jìn)行數(shù)據(jù)通訊。所以本節(jié)討論下長連接、短連接和連接池的概念。

 

mysql開發(fā)理論:搞懂什么是長連接,短連接和連接池

 

 


短連接

短連接就是我們開發(fā)的應(yīng)用程序需要訪問數(shù)據(jù)庫時候,需要建立數(shù)據(jù)連接,執(zhí)行SQL操作,關(guān)閉連接,用JAVA中的偽代碼來描述一下這個過程:

conn = session.onpenConnection();
conn.execute('SQL命令');
session.close();

簡單講就是每一次操作數(shù)據(jù)庫,都要執(zhí)行一次上述操作。它的弊端就是:如果網(wǎng)絡(luò)速度不是很理想的情況下,短連接的會消耗大量的系統(tǒng)資源,在生產(chǎn)環(huán)境中,業(yè)務(wù)很多的話,可能1秒內(nèi)幾千個連接,如果都是短連接,且sql處理慢的話,連接關(guān)閉不及時,那么資源耗盡速度可能發(fā)生在幾分鐘甚至幾秒,所以我們系統(tǒng)不大可能一直是短連接。

長連接

長連接是指我們的程序和數(shù)據(jù)庫連接之后,就一直打開,后面程序來訪問相同數(shù)據(jù)庫就復(fù)用該連接,使用長連接主要是考慮到減少短連接連接的開銷。有資料顯示Mysql的連接比其他數(shù)據(jù)庫要快。

目前php程序連接數(shù)據(jù)庫是默認(rèn)采用長連接模式,當(dāng)它要建立連接來訪問數(shù)據(jù)庫時候,PHP會檢查是否有相同的連接,存在的話就復(fù)用該連接,不存在就新建一個長連接。怎么認(rèn)為是相同連接呢,其實(shí)很簡單,只要用戶名密碼相同,且連接同一個IP的主機(jī)數(shù)據(jù)庫,就認(rèn)為相同。從程序來講,作為客戶端,使用長連接可以不用每次都創(chuàng)建連接對象,如果業(yè)務(wù)很繁忙的話,使用長連接時候,程序性能會很高效。但是PHP長連接也會導(dǎo)致數(shù)據(jù)庫連接超過閑置,或者內(nèi)存耗盡的問題。需要合理的設(shè)計和優(yōu)化。

但是從服務(wù)器端來看,維持一個連接會占用服務(wù)器內(nèi)存,如果所有程序都是長連接,肯定會有部分連接處于閑置狀態(tài),但是無論什么狀態(tài)連接,都占用內(nèi)存,這會造成服務(wù)器端的資源浪費(fèi),也顯得不是很高效。

對于擴(kuò)展性好的系統(tǒng),往往大部分訪問不需要連接數(shù)據(jù)庫,它們會采用緩存的方式來避免頻繁連接數(shù)據(jù)庫。

 

連接池

正是因?yàn)闊o論長連接和短連接都有一些弊端,造成創(chuàng)建連接或者維護(hù)連接開銷導(dǎo)致所耗資源過多,此時需要增加連接池來改進(jìn)性能。它是一個預(yù)先創(chuàng)建的連接緩沖池,考慮到某些數(shù)據(jù)進(jìn)行連接之后,處理時間過長,而不想它閑置,允許給其他線程使用。一般現(xiàn)在的應(yīng)用服務(wù)器都帶有連接池組件,允許應(yīng)用程序,客戶端來連接,應(yīng)用服務(wù)器維護(hù)著連接池的整個生命周期。

數(shù)據(jù)庫連接池技術(shù)的思想非常簡單,將數(shù)據(jù)庫連接作為對象存儲在一個Vector對象中,一旦數(shù)據(jù)庫連接建立后,不同的數(shù)據(jù)庫訪問請求就可以共享這些連接,這樣,通過復(fù)用這些已經(jīng)建立的數(shù)據(jù)庫連接,可以克服無論長連接和短連接缺點(diǎn),極大地節(jié)省系統(tǒng)資源和時間。

寫在最后

在與數(shù)據(jù)庫有關(guān)的應(yīng)用開發(fā)中,數(shù)據(jù)庫連接的管理是一個難點(diǎn)。所以我們要不斷的優(yōu)化連接池的參數(shù)配置,配合性能壓測,達(dá)到一個理想的性能指標(biāo)值。

如果本文對你有用,請加關(guān)注,后續(xù)會有更多的運(yùn)維開發(fā)經(jīng)驗(yàn)。

分享到:
標(biāo)簽:連接 mysql
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定