缓存(cache)与缓冲区(buffer)的主要区别

缓存(cache)与缓冲区(buffer)的主要区别

1.Buffer 的核心作用是用来缓冲,缓和冲击(对输出设备的冲击,包括磁盘、打印机、显示器)。比如你每秒要写100次硬盘,对系统冲击很大,浪费了大量时间在忙着处理开始写和结束写这两件事嘛。用个buffer暂存起来,变成每10秒写一次硬盘,对系统的冲击就很小,写入效率高了,日子过得爽了。极大缓和了冲击。

缓冲区是内存空间的一部分。 也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。

比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去磁盘中读取,这样就可以减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于对磁盘的操作,故应用缓冲区可大大提高计算机的运行速度。(因为计算机对缓冲区的操作大大快于对磁盘的操作,所以我们先把需要读取的数据放在缓存区里,让后续计算机处理数据更加高效,等缓存区里的数据积累到所需再一起存入磁盘)

磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)。

2.Cache 的核心作用是加快取用的速度(加快读取速度,包括CPU读内存、内存读磁盘、用户通过浏览器请求资源)。比如你一个很复杂的计算做完了,下次还要用结果,就把结果放手边一个好拿的地方存着,下次不用再算了。加快了数据取用的速度。

简单来说就是buffer偏重于写,而cache偏重于读。

相关推荐
不穿格子的程序员6 小时前
从零开始写算法——链表篇4:删除链表的倒数第 N 个结点 + 两两交换链表中的节点
数据结构·算法·链表
dragoooon347 小时前
[hot100 NO.19~24]
数据结构·算法
电子硬件笔记8 小时前
Python语言编程导论第七章 数据结构
开发语言·数据结构·python
Tony_yitao8 小时前
15.华为OD机考 - 执行任务赚积分
数据结构·算法·华为od·algorithm
C雨后彩虹9 小时前
任务总执行时长
java·数据结构·算法·华为·面试
柒.梧.9 小时前
数据结构:二叉排序树构建与遍历的解析与代码实现
java·开发语言·数据结构
zhuzewennamoamtf10 小时前
Linux内核platform抽象、数据结构、内核匹配机制
linux·运维·数据结构
自然常数e12 小时前
深入理解指针(6)
c语言·数据结构·算法·visual studio
一杯美式 no sugar12 小时前
数据结构——栈
c语言·数据结构·
蒙奇D索大13 小时前
【数据结构】考研408 | 冲突解决精讲: 拉链法——链式存储的艺术与优化
数据结构·笔记·考研·改行学it