漫谈缓冲和缓存
1. 举个通俗的栗子:
比如说出国旅游,一个箱子一个腰包,在机场,腰包里装的是机票,护照,人民币。到了酒店,出去玩,腰包里放的是地图,门票,外币。护照人民币在哪里?在酒店的保险柜里。
把当前最常用的东西,放在最容易拿的地方,这就是cache。
旅游回来,下了飞机坐火车,下了火车上小巴。交了钱,车却不走,司机打开门,对着外面喊,
“再上两个,凑够十个就开车!”
这就是buffer。
2. buffer:缓冲
将数据缓冲下来,解决速度慢和快的交接问题;速度快的需要通过缓冲区将数据一点一点传给速度慢的区域。例如:从内存中将数据往硬盘中写入,并不是直接写入,而是缓冲到一定大小之后刷入硬盘中。
A buffer is something that has yet to be “written” to disk.
3. cache:缓存
实现数据的重复使用,速度慢的设备需要通过缓存将经常要用到的数据缓存起来,缓存下来的数据可以提供高速的传输速度给速度快的设备。例如:将硬盘中的数据读取出来放在内存的缓存区中,这样以后再次访问同一个资源,速度会快很多。