形象解释缓冲(Buffer)与缓存(Cache)
缓冲
以嗑瓜子为例,装有瓜子的袋子在距我座位两米的货架上,垃圾桶在距我座位三米的门口。若每次都是离开座位从货架的袋子中取出一颗瓜子,回到座位后吃掉,将产生的一颗瓜子壳丢到门口的垃圾桶,这也没啥不可以,只是会显得比较蠢。
而如果,每次从货架的袋子里抓一把,垫纸上,再坐下来吃,这就叫应用了输入缓存技术,再将产生的瓜子壳先攒一堆,再一起过去扔,这就叫应用了输出缓存技术。 由此看,缓冲技术有效缓解了对设备的频繁冲击,缓解存取数据(慢)与处理数据 (快)速度不匹配的问题。
缓存
以看书为例,如果一本书可能会频繁使用,那么将书从书架上取过来后就放桌上。下次再使用就可以直接从桌上拿,而不用从书架上去找。将书架比作磁盘,桌子就是cache区。使用cache会产生cache一致性问题,因为从书架上取过来的仅仅上书的一份拷贝。cache一致性是一个非常复杂的问题,此处不做过多解释。