天天看點

Cache(緩存)和Buffer(緩沖)

什麼是緩存、緩存區?

        Cache(緩存)是“讀”資料時在記憶體的一種優化技術。

        緩存區就是占用記憶體中的一塊區域來做程序的資料緩存,比如WEB服務,當使用者第一次請求時,程序會從磁盤(硬碟)中拿資料(結果),将結果存儲到緩存區,當第二次該使用者發起同樣的請求時,則程序會在緩存區中比對已經緩存的結果,直接傳回資料。記憶體的讀寫效率是磁盤的10倍以上。是以該技術增加了程序處理資料的效率,并降低了磁盤IO的使用。

什麼是緩沖、緩沖區?

        Buffer(緩沖)是“寫”資料時在記憶體的一種優化技術。

        緩沖區就是占用記憶體中的一塊區域來做程序的資料緩沖,比如上傳一個資料(檔案),資料由程序處理,程序調用記憶體持續性的将資料寫入磁盤,資料在記憶體中會被分成大小不均勻的資訊資料塊持續性的寫入磁盤,這種寫入磁盤的方式執行效率比較慢,而且因為大小不均會導緻磁盤碎片。而Buffer則是對這些大小不均勻的資訊資料塊流量整形的一項技術,這些資料塊首先會存入緩沖區,等待積累的多個資料塊占滿整個緩沖區大小時,然後從緩沖區寫入到磁盤中。是以一般情況下一個緩沖區大小等于系統的分頁大小。

        系統的分頁大小則就是磁盤的檔案系統的存儲塊大小。如果是Windows系統一般我們在格式化的時候可以看到,即“配置設定單元大小”。如果是Linux則可以通過“ getconf PAGE_SIZE”指令檢視。

本文轉自   觸動的風   51CTO部落格,原文連結:http://blog.51cto.com/10978134/2065067

繼續閱讀