1. 程式人生 > >Cache(緩存)和Buffer(緩沖)

Cache(緩存)和Buffer(緩沖)

二次 方式 小時 什麽是 bsp 磁盤io 服務 優化 進程調用

什麽是緩存、緩存區?

Cache(緩存)是“讀”數據時在內存的一種優化技術。

緩存區就是占用內存中的一塊區域來做進程的數據緩存,比如WEB服務,當用戶第一次請求時,進程會從磁盤(硬盤)中拿數據(結果),將結果存儲到緩存區,當第二次該用戶發起同樣的請求時,則進程會在緩存區中匹配已經緩存的結果,直接返回數據。內存的讀寫效率是磁盤的10倍以上。所以該技術增加了進程處理數據的效率,並降低了磁盤IO的使用。


什麽是緩沖、緩沖區?

Buffer(緩沖)是“寫”數據時在內存的一種優化技術。

緩沖區就是占用內存中的一塊區域來做進程的數據緩沖,比如上傳一個數據(文件)

,數據由進程處理,進程調用內存持續性的將數據寫入磁盤,數據在內存中會被分成大小不均勻的信息數據塊持續性的寫入磁盤,這種寫入磁盤的方式執行效率比較慢,而且因為大小不均會導致磁盤碎片。而Buffer則是對這些大小不均勻的信息數據塊流量整形的一項技術,這些數據塊首先會存入緩沖區,等待積累的多個數據塊占滿整個緩沖區大小時,然後從緩沖區寫入到磁盤中。所以一般情況下一個緩沖區大小等於系統的分頁大小。

系統的分頁大小則就是磁盤的文件系統的存儲塊大小。如果是Windows系統一般我們在格式化的時候可以看到,即“分配單元大小”。如果是Linux則可以通過“ getconf PAGE_SIZE”命令查看。


Cache(緩存)和Buffer(緩沖)