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

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

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

Cache 和 Buffer 都是緩存,主要區別是什么?

 

提到這個問題,可能意味著題主意識到了兩者的相關性。的確,他們確實有那么一些聯系。

首先cache是緩存,buffer是緩沖,雖然翻譯有那么一個字的不同,但這不是重點。

個人認為他們最直觀的區別在于cache是隨機訪問,buffer往往是順序訪問。雖然這樣說并沒有直擊本質,不過我們可以待分析完畢之后再來討論真正的本質。

為了說明這個問題,讓我將他們分開來說:read cache(讀緩存),read buffer(讀緩沖),write cache(寫緩存),write buffer(寫緩沖)。

無論緩存還是緩沖,其實本質上解決的都是讀寫速度不匹配的問題,從這個角度,他們非常相似。

首先討論讀緩存跟讀緩沖。

讀緩存跟讀緩沖的最大區別在于,讀緩存的目標數據是始終有效的,如果不從緩存中讀取,也可以直接讀取實際數據,只不過實際數據讀取會慢一些,當這個數據在緩存中,讀取速度將會變快。

當一個緩存中的數據被多次讀取,實際上就減少了該數據從慢速設備中讀取的量,這就存在某種算法去選擇「什么數據需要保存在cache中」,因為盡可能多的讓cache命中能提高性能。

先進入cache的數據不一定先被讀取,甚至說進入cache的數據有可能永遠不被讀取就被清除了,因此read cache呈現出非常明顯的隨機訪問特性。

而讀緩沖buffer的數據則不是始終有效,而是實時生成的數據流,每當buffer滿或者主動flush buffer的時候觸發一次讀取,對于小數據,這樣可以減少讀取次數,對于大數據,這可以控制單次讀取的數據量。

換句話說,無論數據量大還是小,單次讀取數據量都按照buffer尺寸進行歸一化了。通常來說,先喂給buffer的數據一定會先被讀取,所有buffer的數據幾乎一定會被讀取,這是很明顯的順序訪問特性。

從上面的情況看到,讀緩存以及讀緩沖很明確的反應出了我所說的表面特性。而其本質特性在于cache的目標是減少讀取總量每次cache命中都減小了讀取總量。

而buffer并不能減少讀取總量,只能規整化每次讀取數據的尺寸大小。

要說到write cache跟write buffer?

我們先說write buffer,write buffer是read buffer的對應,對于小數據的寫入,它需要填滿write buffer再進行一次寫入,對于大數據,大數據會被分割到buffer尺寸的大小分批寫入。

因此,write buffer 的用處在于使得每次寫入的數據量相對固定。如果一次寫入4k對某個設備來說效率最高,那么把buffer定為4k,小數據積攢到4k寫一次,大數據分割到每個碎片4k多次寫入,這樣就是write buffer的用處。

最后我們來說write cache。所謂write cache,就是要設法減少寫入次數。也就是說,如果某些數據需要產生多次寫入,那么使用cache就可以只將最終數據寫入,導致最終寫入數據減少。

在實際應用中,我們有時會使用到write buffer跟write cache的合體形態。buffer本身需要規整尺寸,與此同時,buffer還允許多次隨機寫入,使得多次寫入的數據只用寫入最后一次,這屬于cache的特性。

BT軟件使用的寫緩存往往具有類似特性,因而這種形態它同時既是buffer又是cache。

正因為在寫入場合buffer跟cache沒有那么明顯的分界,所以才會有產生buffer跟cache究竟有啥區別的疑問。

結論

在read(讀取)的場合,cache通常被用于減少重復讀取數據時的開銷,而buffer則用于規整化每次讀取數據的尺寸,在讀取場合兩者用途差別很大。

在write(寫入)的場合,兩者功能依然沒變,但由于cache跟buffer的功能在寫入場合可以融合使用,所以兩者可以被混淆,寫入緩沖跟寫入緩存往往會同時擔當規整化寫入尺寸以及減少寫入次數的功能,所以兩者有時會被混淆,但這只是個名稱問題,沒有原則性關系。

分享到:
標簽:Cache
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定