Ⅰ mysql長連接和短連接的區別
概念解釋:
長連接:長連接是相對於短連接來說的。長連接指在一個連接上可以連續發送多個數據包,在連接保持期間,如果沒有數據包發送,需要雙方發鏈路檢測包。mysql的長連接如果長期閑置,mysql會8小時後(默認時間)主動斷開該連接。
短連接:是指通訊雙方有數據交互時,就建立一個連接,數據發送完成後,則斷開此連接,即每次連接只完成一項業務的發送。
連接的區別:
使用長連接,短連接各有優勢,也各有缺點。我們看看長短連接,系統是怎麼做的?
1、短連接:
客戶端連接--創建socket認證連接--維護連接--數據傳輸--關閉連接
2、長連接
客戶端連接--創建socket認證連接--維護連接--數據傳輸--維護連接--數據傳輸.....-關閉連接
2種連接方式都需要系統開銷來維護連接,哪種連接最合適並沒有準確的說法,主要還是看你客戶端的行為。
Ⅱ 網路連接中的長連接和短鏈接是什麼意思
短連接
連接->傳輸數據->關閉連接
比如HTTP是無狀態的的短鏈接,瀏覽器和伺服器每進行一次HTTP操作,就建立一次連接,但任務結束就中斷連接。
具體就是:瀏覽器client發起並建立TCP連接 -> client發送HttpRequest報文 -> server接收到報文->server handle並發送HttpResponse報文給前端,發送完畢之後立即調用socket.close方法
->client接收response報文->client最終會收到server端斷開TCP連接的信號->client 端斷開TCP連接,具體就是調用close方法。
也可以這樣說:短連接是指SOCKET連接後,發送接收完數據後馬上斷開連接。
因為連接後接收了數據就斷開了,所以每次數據接受處理不會有聯系。 這也是HTTP協議無狀態的原因之一。
長連接
連接->傳輸數據->保持連接 -> 傳輸數據-> ...........->直到一方關閉連接,多是客戶端關閉連接。
長連接指建立SOCKET連接後不管是否使用都保持連接,但安全性較差。
HTTP在短鏈接和長連接上的選擇:
HTTP是無狀態的 ,也就是說,瀏覽器和伺服器每進行一次HTTP操作,就建立一次連接,但任務結束就中斷連接。
如果客戶端瀏覽器訪問的某個HTML或其他類型的 Web頁中包含有其他的Web資源,如JavaScript文件、圖像文件、CSS文件等;當瀏覽器每遇到這樣一個Web資源,就會建立一個HTTP會話
HTTP1.1和HTTP1.0相比較而言,最大的區別就是增加了持久連接支持(貌似最新的HTTP1.1 可以顯示的指定 keep-alive),但還是無狀態的,或者說是不可以信任的。
如果瀏覽器或者伺服器在其頭信息加入了這行代碼 Connection:keep-alive
TCP連接在發送後將仍然保持打開狀態,於是,瀏覽器可以繼續通過相同的連接發送請求。保持連接節省了為每個請求建立新連接所需的時間,還節約了帶寬。
實現長連接要客戶端和服務端都支持長連接。
什麼時候用長連接,短連接?
長連接多用於操作頻繁,點對點的通訊,而且連接數不能太多情況。
每個TCP連接都需要三步握手,這需要時間,如果每個操作都是先連接,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,次處理時直接發送數據包就OK了,不用建立TCP連接。
例如:資料庫的連接用長連接, 如果用短連接頻繁的通信會造成socket錯誤,而且頻繁的socket 創建也是對資源的浪費。
像WEB網站的http服務一般都用短鏈接,因為長連接對於服務端來說會耗費一定的資源,而像WEB網站這么頻繁的成千上萬甚至上億客戶端的連接用短連接會更省一些資源,如果用長連接,而且同時有成千上萬的用戶,如果每個用戶都佔用一個連接的話,那可想而知吧。所以並發量大,但每個用戶無需頻繁操作情況下需用短連好。
總之,長連接和短連接的選擇要視情況而定。
Ⅲ 什麼是長連接,什麼是短連接長連接和短連接的區別是什麼
長連接
一般指
TCP連接
連接時間較長,或者連接上就不斷開。
這種連接比較穩定
相對於UDP無連接而言,安全性更高,但是系統消耗的資源也更多
短連接
一般指
Http連接
短連接
連接時間短
一般數據發送後就關閉連接
系統資源消耗較少
不用資源去維持連接
但是不適合數據量大
或者大量重復請求數據
這樣反而消耗資源更高
Ⅳ oracle資料庫的長連接和短連接的區別
相對而言吧,短連接一般連接然後執行sql然後關閉了,長連接連接執行保持連接執行一直延續,現在更多應用層都是連接池機制,會緩存連接資源到連接池中不斷重用,這個連接相對而言是長連接,主要是減小頻繁的連接資料庫帶來的資源消耗。
Ⅳ 網路連接中的長連接和短鏈接是什麼意思
所謂短連接指建立SOCKET連接後發送後接收完數據後馬上斷開連接,一般銀行都使用短連接解釋2長連接就是指在基於tcp的通訊中,一直保持連接,不管當前是否發送或者接收數據。而短連接就是只有在有數據傳輸的時候才進行連接,客戶-伺服器通信/傳輸數據完畢就關閉連接。解釋3長連接和短連接這個概念好像只有移動的CMPP協議中提到了,其他的地方沒有看到過。通信方式各網元之間共有兩種連接方式:長連接和短連接。所謂長連接,指在一個TCP連接上可以連續發送多個數據包,在TCP連接保持期間,如果沒有數據包發送,需要雙方發檢測包以維持此連接。短連接是指通信雙方有數據交互時,就建立一個TCP連接,數據發送完成後,則斷開此TCP連接,即每次TCP連接只完成一對CMPP消息的發送。現階段,要求ISMG之間必須採用長連接的通信方式,建議SP與ISMG之間採用長連接的通信方式。解釋4短連接:比如http的,只是連接、請求、關閉,過程時間較短,伺服器若是一段時間內沒有收到請求即可關閉連接。
Ⅵ sqlserver資料庫長連接和短連接的區別
其實長連接是相對於通常的短連接而說的,也就是長時間保持客戶端與服務端的連接狀態。
通常的短連接操作步驟是:
連接-》數據傳輸-》關閉連接;
而長連接通常就是:
連接-》數據傳輸-》保持連接-》數據傳輸-》保持連接-》…………-》關閉連接;
這就要求長連接在沒有數據通信時,定時發送數據包,以維持連接狀態,短連接在沒有數據傳輸時直接關閉就行了
什麼時候用長連接,短連接?
長連接主要用於在少數客戶端與服務端的頻繁通信,因為這時候如果用短連接頻繁通信常會發生Socket出錯,並且頻繁創建Socket連接也是對資源的浪費。
但是對於服務端來說,長連接也會耗費一定的資源,需要專門的線程(unix下可以用進程管理)來負責維護連接狀態。
總之,長連接和短連接的選擇要視情況而定。
Ⅶ 長連接、短連接是什麼意思哪位大神給講一下,不要太官方了,通俗易懂點,謝謝。
你好知友!
.
長連接與短連接
所謂長連接,指在一個TCP連接上可以連續發送多個數據包,在TCP連接保持期間,如果沒有數據包發送,需要雙方發檢測包以維持此連接,一般需要自己做在線維持。
短連接是指通信雙方有數據交互時,就建立一個TCP連接,數據發送完成後,則斷開此TCP連接,一般銀行都使用短連接。
比如http的,只是連接、請求、關閉,過程時間較短,伺服器若是一段時間內沒有收到請求即可關閉連接。
其實長連接是相對於通常的短連接而說的,也就是長時間保持客戶端與服務端的連接狀態
如果我的回答對你有幫助.請點擊我的回答下方【選為滿意回答】按鈕.及時採納你將會得到5財富值.
Ⅷ ORACLE資料庫能設置連接池有長連接,短連接的概念嗎
ORACLE資料庫能設置連接池?
相對而言吧,短連接一般連接然後執行sql然後關閉了,長連接連接執行保持連接執行一直延續,現在更多應用層都是連接池機制,會緩存連接資源到連接池中不斷重用,這個連接相對而言是長連接,主要是減小頻繁的連接資料庫帶來的資源消耗。
Ⅸ 保持長連接是什麼意思
所謂長連接,指在一個連接上可以連續發送多個數據包,在連接保持期間,如果沒有數據包發送,需要雙方發鏈路檢測包。短連接是指通訊雙方有數據交互時,就建立一個連接,數據發送完成後,則斷開此連接,即每次連接只完成一項業務的發送。
長連接多用於操作頻繁,點對點的通訊,而且連接數不能太多情況,。每個TCP連接都需要三步握手,這需要時間,如果每個操作都是先連接,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,下次處理時直接發送數據包就OK了,不用建立TCP連接。例如:資料庫的連接用長連接,如果用短連接頻繁的通信會造成socket錯誤,而且頻繁的socket
創建也是對資源的浪費。
而像WEB網站的http服務一般都用短鏈接,因為長連接對於服務端來說會耗費一定的資源,而像WEB網站這么頻繁的成千上萬甚至上億客戶端的連接用短連接會更省一些資源,如果用長連接,而且同時有成千上萬的用戶,如果每個用戶都佔用一個連接的話,那可想而知吧。所以並發量大,但每個用戶無需頻繁操作情況下需用短連好。
總之,長連接和短連接的選擇要視情況而定。
Ⅹ 什麼是短連接,長連接,Socket
1)短連接:從連接建立到關閉持續的時間比較短。過程大致是這樣的
建立連接-->交換數據-->關閉連接
2)長連接:從連接建立到關閉持續的時間比較長。過程大致是這樣的
建立連接-->交換數據-->交換數據---> ……-->交換數據 -->關閉連接
3)連接持續的長短是相對而言的