當前位置:首頁 » 文件管理 » 緩存和buffer的區別

緩存和buffer的區別

發布時間: 2022-05-26 20:24:15

⑴ Oracle 中的Cache和Buffer之間有什麼區別和聯系

二者都是為了提高I/O效率,但是卻不盡相同。

這里涉及三個硬體設備:CPU、內存、磁碟
三者的I/O速度為:CPU>內存>磁碟
cache:緩存
CPU從內存讀取數據的時候,內存是無法完全供的上CPU速度的,此時cache緩存區的作用就體現出來了。在CPU工作時,內存先把數據放入cache,這時從Cache中讀取數據會更快,減少了CPU等待的時間,提高了系統的性能。

buffer:緩沖區
內存中的數據寫入磁碟時,磁碟的讀寫速度也無法和內存比,造成磁碟I/O頻繁,大大降低了I/O效率,此時buffer緩存區的作用就體現出來了,先將數據放入緩存區,達到一定數量之後,統一寫入磁碟,減少I/O次數,提高系統性能。

⑵ Buffer和cache的區別是什麼

buffer和cache是兩個經常被混為一談的概念。從直觀上說,兩者都具備改善系統 I/O 吞吐量的能力,但是這兩個概念是有區別的,其提高系統I/O吞吐量的原因也不盡相同。
cache改善系統性能的主要原因是數據訪問的局部性
,即,通常應用程序在一段時間內操作的數據集的某個有限的部分,通常是很小的一部分。硬體實現的cache通常會只使用一小塊(與主存相比)訪問速度很快,但相對比較昂貴的存儲部件,並放置於距離CPU較近的位置。
buffer改善系統性能的主要原因是減少不必要的狀態切換和設備I/O。由於製造工藝等個方面的原因,系統中不同部件的速度往往是不一樣的,一次
進行批量的操作(例如,預先讀取,或者將寫數據湊成一個整數之後再寫),往往要比到需要時等待這些操作完成要節省時間,並且有效地降低狀態切換導致的開銷。
還有一個比較顯著的區別是,cache通常是硬體或OS提供,用戶程序不需要(多數情況下也沒有辦法)為其分配存儲的機制,通常它在使用者,如用戶
程序看來是透明的,它屬於提供cache的一方而不是其使用者;而buffer往往是由用戶程序知道並且與OS共享(換言之,用戶程序需要分配一塊內存,
並告訴OS這塊內存將要用於某種操作),或由OS分配,並在主機和外設之間共享(例如網卡的DMA
buffer),在使用者看來它通常不是透明的,這些內存往往屬於控制內存的程序,如用戶程序,或OS,而不是向其傳遞數據的OS,或硬體。
不過,這個區別主要是傳統意義上的cache。最近幾年引入的一些新概念,特別是Internet
cache並不能用這種方法來區分。我認為最關鍵的區別其實在於,buffer主要作用是在於減少實際的I/O操作次數,即,將多次操作盡量合並成一次的
成批操作,通常其中的數據在操作完成之後,buffer不會被繼續使用;而cache的主要作用在於更好地利用局部性原理,減少不必要的I/O,避免代價

⑶ Cache和Buffer的區別

以下就 Cache 和 Buffer 之間最根本的區別說明一下:

* Cache 一般翻譯為「高速緩存」或簡稱「緩存」,一般當出現「傳輸或存儲上的效率層級」時,Cache 才會出現,它的作用就是 [把效率低一級的最常數據用效率高但容量小的存儲容器存放],比如CPU Cache相對於內存、內存相對於磁碟、磁碟相對於網路傳輸,這些都是高效率相對低效率存儲/傳輸的實例。所以 Cache 中的數據又有暫時性。在編程中當需要提高整個系統工作效率時,才會啟用或實現 Cache 機制(比如在大數據處理中使用 memcache)。

* 而 Buffer 一般翻譯為「緩沖區」,它對於數據傳輸和存儲沒有「上下效率層級」的概念,上傳下、下傳上、平級之間都會用到 Buffer,它通常的意義是指 [模塊與模塊之間用於取得或傳遞數據的存儲空間]。在編程中 Buffer 要比 Cache 的概念用的多的多,比如調用函數 buf[256]; fgets(buf, 256, fp) 的意義就是將 C 運行庫標准輸入模塊的數據傳遞到用戶程序模塊中。

⑷ 網路知識什麼是Cache 什麼是Buffer 二者的區別是什麼

通常人們所說的Cache就是指緩存SRAM。 SRAM叫靜態內存,「靜態」指的是當我們將一筆數據寫入SRAM後,除非重新寫入新數據或關閉電源,否則寫入的數據保持不變。

由於CPU的速度比內存和硬碟的速度要快得多,所以在存取數據時會使CPU等待,影響計算機的速度。SRAM的存取速度比其它內存和硬碟都要快,所以它被用作電腦的高速緩存(Cache)。

有了高速緩存,可以先把數據預寫到其中,需要時直接從它讀出,這就縮短了CPU的等待時間。高速緩存之所以能提高系統的速度是基於一種統計規律,主板上的控制系統會自動統計內存中哪些數據會被頻繁的使用,就把這些數據存在高速緩存中,CPU要訪問這些數據時,就會先到Cache中去找,從而提高整體的運行速度。一般說來,256K的高速緩存能使整機速度平均提高10%左右

Buffer從英文直譯過來的意思是「緩沖區」,這里我們將它稱為緩沖,因為它不僅是個名詞,還是個動詞。
緩沖區是存儲一系列的數據的地方,客戶端所獲得的數據可以從程序的執行結果直接輸出,也可以從緩沖區輸出。但是這兩種方式在速度上是有差異的:在web中,當一個asp程序被請求的次數不多時,二者基本上沒有什麼差異,至少我們感覺不出來。但是當有很多人請求一個asp程序時,速度可就不一樣了。如果沒有緩沖區,那麼每個請求asp程序的人的客戶端所得到的結果都是asp程序執行一次所得到的結果,而如果預先將asp程序緩沖,那麼每個客戶端所得到的結果就是緩沖區的結果,不是執行一次程序的結果。比如有1000個用戶同時訪問一個asp頁面,如果這個asp程序沒有緩沖,那麼程序將被執行一千次,這樣伺服器的負荷就回加大,從而導致客戶端打開頁面速度變慢;如果這個asp程序被緩沖了,那麼結果就不一樣了,每個客戶端直接從緩沖區獲得數據,伺服器將不會因為訪問增加而增加程序執行次數,因此客戶端打開頁面的速度也就比上一種情況要快。這就是Buffer的好處。

⑸ 緩存和緩沖的意思

緩存是指把常用數據存儲到可以快速獲取的區域,以備重復利用,一般叫做cache. 緩存能提高效率

緩沖是指在數據流轉過程中,不同層次速度不一致時,利用緩沖區來緩解上下層之間速率問題,一般叫做buffer. 緩沖能提高速度

⑹ cache 和 buffer的區別

1. Cache:緩存區,是高速緩存,是位於CPU和主內存之間的容量較小但速度很快的存儲器,因為CPU的速度遠遠高於主內存的速度,CPU從內存中讀取數據需等待很長的時間,而 Cache保存著CPU剛用過的數據或循環使用的部分數據,這時從Cache中讀取數據會更快,減少了CPU等待的時間,提高了系統的性能。
Cache並不是緩存文件的,而是緩存塊的(塊是I/O讀寫最小的單元);Cache一般會用在I/O請求上,如果多個進程要訪問某個文件,可以把此文件讀入Cache中,這樣下一個進程獲取CPU控制權並訪問此文件直接從Cache讀取,提高系統性能。
2. Buffer:緩沖區,用於存儲速度不同步的設備或優先順序不同的設備之間傳輸數據;通過buffer可以減少進程間通信需要等待的時間,當存儲速度快的設備與存儲速度慢的設備進行通信時,存儲慢的數據先把數據存放到buffer,達到一定程度存儲快的設備再讀取buffer的數據,在此期間存儲快的設備CPU可以干其他的事情。
Buffer:一般是用在寫入磁碟的,例如:某個進程要求多個欄位被讀入,當所有要求的欄位被讀入之前已經讀入的欄位會先放到buffer中。

⑺ buffer和cache的區別

1.
Cache:緩存區,是高速緩存,是位於CPU和主內存之間的容量較小但速度很快的存儲器,因為CPU的速度遠遠高於主內存的速度,CPU從內存中讀取數
據需等待很長的時間,而
Cache保存著CPU剛用過的數據或循環使用的部分數據,這時從Cache中讀取數據會更快,減少了CPU等待的時間,提高了系統的性能。

Cache並不是緩存文件的,而是緩存塊的(塊是I/O讀寫最小的單元);Cache一般會用在I/O請求上,如果多個進程要訪問某個文件,可以把此文件讀入Cache中,這樣下一個進程獲取CPU控制權並訪問此文件直接從Cache讀取,提高系統性能。

2.
Buffer:緩沖區,用於存儲速度不同步的設備或優先順序不同的設備之間傳輸數據;通過buffer可以減少進程間通信需要等待的時間,當存儲速度快的設
備與存儲速度慢的設備進行通信時,存儲慢的數據先把數據存放到buffer,達到一定程度存儲快的設備再讀取buffer的數據,在此期間存儲快的設備
CPU可以干其他的事情。

Buffer:一般是用在寫入磁碟的,例如:某個進程要求多個欄位被讀入,當所有要求的欄位被讀入之前已經讀入的欄位會先放到buffer中。

linux中Buffer和Cache的區別

Buffer和Cache的區別 buffer與cache操作的對象就不一樣。
buffer(緩沖)是為了提高內存和硬碟(或其他I/O設備)之間的數據交換的速度而設計的。
cache(緩存)是為了提高cpu和內存之間的數據交換速度而設計的,也就是平常見到的一級緩存、二級緩存、三級緩存。 cpu在執行程序所用的指令和讀數據都是針對內存的,也就是從內存中取得的。由於內存讀寫速度慢,為了提高cpu和內存之間數據交換的速度,在cpu和內存之間增加了cache,它的速度比內存快,但是造價高,又由於在cpu內不能集成太多集成電路,所以一般cache比較小,以後intel等公司為了進一步提高速度,又增加了二級cache,甚至三級cache,它是根據程序的局部性原理而設計的,就是cpu執行的指令和訪問的數據往往在集中的某一塊,所以把這塊內容放入cache後,cpu就不用在訪問內存了,這就提高了訪問速度。當然若cache中沒有cpu所需要的內容,還是要訪問內存的。
緩沖(buffers)是根據磁碟的讀寫設計的,把分散的寫操作集中進行,減少磁碟碎片和硬碟的反復尋道,從而提高系統性能。linux有一個守護進程定期清空緩沖內容(即寫入磁碟),也可以通過sync命令手動清空緩沖。
簡單來說,buffer是即將要被寫入磁碟的,而cache是被從磁碟中讀出來的。 buffer是由各種進程分配的,被用在如輸入隊列等方面。一個簡單的例子如某個進程要求有多個欄位讀入,在所有欄位被讀入完整之前,進程把先前讀入的欄位放在buffer中保存。
cache經常被用在磁碟的I/O請求上,如果有多個進程都要訪問某個文件,於是該文件便被做成cache以方便下次被訪問,這樣可提高系統性能。

⑼ Cache和Buffer是什麼

cache是永久的、靜態的,buffer是臨時的、動態的。cache偏硬,buffer偏軟 說的詳細點就是:cache, 是用來加速讀取的一種方法。目的是加速讀取。物理上,有cpu管理的L1 cache, L2 cache (both data cache and instruction cache), 和memory里的cache (如os管理的文件系統cache).

對於cache的訪問, 分為cache hit or cache miss. 通常cache越大, cache命中率就越高,訪問速度越快。訪問者不知道數據一定在cache中。

Buffer, 只指memory的區域, 軟體用來保存特定的信息。buffer按需分配,足夠保存數據就行了,不求最大。軟體有合適的機制,知道數據在buffer里。

很多時候和場合,使用者也不分區cache和buffer的概念,就混為一談了。

⑽ Linux中內存buffer和cache的區別

兩者都是RAM中的數據。簡單來說,buffer是即將要被寫入磁碟的,而cache是被從磁碟中讀出來的。

緩存(cached)是把讀取過的數據保存起來,重新讀取時若命中(找到需要的數據)就不要去讀硬碟了,若沒有命中就讀硬碟。其中的數據會根據讀取頻率進行組織,把最頻繁讀取的內容放在最容易找到的位置,把不再讀的內容不斷往後排,直至從中刪除。

緩存(cache)實際並不是緩沖文件的,而是緩沖塊的,塊是磁碟I/O操作的最小單元(在Linux中,它們通常是1KB)。這樣,目錄、超級塊、其它文件系統的薄記數據以及非文件系統的磁碟數據都可以被緩沖了。

如果緩存有固定的大小,那麼緩存太大了也不好,因為這會使得空閑的內存太小而導致進行交換操作(這同樣是慢的)。為了最有效地使用實際內存,Linux自動地使用所有空閑的內存作為高速緩沖,當程序需要更多的內存時,它也會自動地減小緩沖的大小。

緩沖(buffers)是根據磁碟的讀寫設計的,把分散的寫操作集中進行,減少磁碟碎片和硬碟的反復尋道,從而提高系統性能。linux有一個守護進程定期清空緩沖內容(即寫磁碟),也可以通過sync命令手動清空緩沖。舉個例子吧:我這里有一個ext2的U盤,我往裡面cp一個3M的 MP3,但U盤的燈沒有跳動,過了一會兒(或者手動輸入sync)U盤的燈就跳動起來了。卸載設備時會清空緩沖,所以有些時候卸載一個設備時要等上幾秒鍾。

buffer是由各種進程分配的,由進程和系統一起管理.被用在如輸入隊列等方面,一個簡單的例子如某個進程要求有多個欄位讀入,在所有欄位被讀入完整之前,進程把先前讀入的欄位放在buffer中保存。

cache經常被用在磁碟的I/O請求上,如果有多個進程都要訪問某個文件,於是該文件便被做成cache以方便下次被訪問,這樣可提供系統性能。

綜上所述可以理解為cache系統管理, buffer由進程和系統一起管理.

熱點內容
安卓手機鎖了怎麼開 發布:2025-01-23 17:21:18 瀏覽:136
經濟學演算法 發布:2025-01-23 17:13:46 瀏覽:420
如何和軟體聯系伺服器 發布:2025-01-23 17:13:00 瀏覽:799
javacrc16演算法 發布:2025-01-23 17:11:31 瀏覽:224
編程加圖片 發布:2025-01-23 17:10:33 瀏覽:566
中國風網站源碼 發布:2025-01-23 17:05:56 瀏覽:679
pythonfilter用法 發布:2025-01-23 17:04:26 瀏覽:568
java轉number 發布:2025-01-23 16:58:11 瀏覽:476
解壓的英語作文 發布:2025-01-23 16:45:05 瀏覽:969
湖南首選dns伺服器地址 發布:2025-01-23 16:06:39 瀏覽:874