缓存cache和缓冲区buffer
生活随笔
收集整理的這篇文章主要介紹了
缓存cache和缓冲区buffer
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、cache
1、cache的定義。從宏觀上講,緩存是處理速度不匹配的問題。可以是靜態(tài)緩存(內存緩存、磁盤緩存)、動態(tài)緩存(前端的緩存)和數據庫緩存。另一個角度,從CPU來看,可以是寄存器和內存之間的緩存,可能會有幾級緩存,比如三級緩存。
2、cache緩存算法。
cache緩存及其實現:https://www.cnblogs.com/davidwang456/p/4001342.html
LRU緩存淘汰算法:http://flychao88.iteye.com/blog/1977653
二、cache和buffer的區(qū)別
1、Buffer(緩沖區(qū))是系統(tǒng)兩端處理速度平衡(從長時間尺度上看)時使用的。它的引入是為了減小短期內突發(fā)I/O的影響,起到流量整形的作用。比如生產者——消費者問題,他們產生和消耗資源的速度大體接近,加一個buffer可以抵消掉資源剛產生/消耗時的突然變化。不能收到一點數據就寫入磁盤,這樣對磁盤有損傷,而是在buffer里面積攢一定量存入。
2、Cache(緩存)則是系統(tǒng)兩端處理速度不匹配時的一種折衷策略。因為CPU和memory之間的速度差異越來越大,所以人們充分利用數據的局部性(locality)特征,通過使用存儲系統(tǒng)分級(memory hierarchy)的策略來減小這種差異帶來的影響。3、假定以后存儲器訪問變得跟CPU做計算一樣快,cache就可以消失,但是buffer依然存在。比如從網絡上下載東西,瞬時速率可能會有較大變化,但從長期來看卻是穩(wěn)定的,這樣就能通過引入一個buffer使得OS接收數據的速率更穩(wěn)定,進一步減少對磁盤的傷害。
4、TLB(Translation Lookaside Buffer,翻譯后備緩沖器)名字起錯了,其實它是一個cache. 5、從軟硬件角度,cache是從磁盤往外讀取數據的;buffer是將數據存入磁盤的。
轉載于:https://www.cnblogs.com/huangfuyuan/p/9415886.html
總結
以上是生活随笔為你收集整理的缓存cache和缓冲区buffer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python学习---Django的re
- 下一篇: M25P16中文版