转发文章:https://www.cnblogs.com/mlgjb/p/7991903.html
这篇文章对于计算机的缓存和缓冲有简单清晰的解释,这里做个记录:
缓存cache:缓存更偏重于读取数据,当cpu做了一次复杂的运算后将结果返回给线程的同时也把结果缓存到了一个好拿的地方,当有其他线程请求这个结果时可以直接拿取这个已经算好的结果而不需要cpu再做一次复杂运算,减少了cpu的重复工作;
缓冲buffer:字面理解就是缓解冲击,缓解什么冲击?缓解的是大量io操作对磁盘的冲击,比如现在有10秒钟对磁盘100次的写操作,那么磁盘的大部分工作内容变成了开始写和结束写,而不是写操作本身,引入缓冲,这100次写操作可以以每10秒钟10次的写请求进行对磁盘的交互,大大缓解了磁盘的读写压力。
下面是原文内容:
缓存(cache)与缓冲(buffer)的主要区别
Buffer的核心作用是用来缓冲,缓和冲击。比如你每秒要写100次硬盘,对系统冲击很大,浪费了大量时间在忙着处理开始写和结束写这两件事嘛。用个buffer暂存起来,变成每10秒写一次硬盘,对系统的冲击就很小,写入效率高了,日子过得爽了。极大缓和了冲击。
Cache的核心作用是加快取用的速度。比如你一个很复杂的计算做完了,下次还要用结果,就把结果放手边一个好拿的地方存着,下次不用再算了。加快了数据取用的速度。
简单来说就是buffer偏重于写,而cache偏重于读。
ps:有时候大家要好好理解这些专有名词字面上的意思,对理解这些概念有好处,缓冲:缓解冲击,缓存:临时存储