缓存与缓冲的区别 Difference Between Cache and Buffer

Cache vs Buffer
Both cache and buffer are temporary storage areas but they differ in many ways. The buffer is mainly 
found in ram and acts as an area where the CPU can store data temporarily, for example, data meant for other output devices mainly when the computer and the other devices have different speeds. This way the computer can perform other tasks. Cache, on the other hand, is a high-speed storage area that can be part of the main memory or some other separate storage area like a hard disk. These two methods of caching are referred to as memory caching and disk caching respectively.

缓存 vs 缓冲

Key difference: A cache transparently stores data so that future requests for that data can be served faster.There are two main types of caches, memory caching and disk caching. A buffer, on the other hand, temporarily stores data while the data is the process of moving from one place to another.i.e. the input device to the output device.

关键区别:缓存,是透明存储的数据用于将来请求时可以服务得更快速。主要有两种类型的缓存:内存缓存和磁盘缓存。缓冲,则是,临时存储的数据可以被处理程序从一个地方移到另外一个地方。例,从输入设备到输出设备。

两者均指临时存储区域,但在很多地方又不同。“缓冲”主要使用场景:当其它输出外设有不同的速度时,CPU可以临时存储数据到内存暂存,此时电脑就可以先执行其他任务。“缓存”,另一方面,是一个高速存储区域,可以是内存,也可以是硬盘。这两种方法各自指的是内存缓存和磁盘缓存。

To ensure the high speed, cache is made of static ram rather than dynamic ram used for the other part of the memory since this is slower. This area is used to store information that is accessed by almost all the programs when they are running, and this makes it faster rather than searching for this information from the disk each time a program is running as this would be much slower. The buffer is made up of ordinary ram running in the computer, and it keeps track of changes happening in a running program by temporarily storing them before the changes are finally saved in the disk, for example, with word processors where the task being written is first stored in the buffer, and the word processor later updates the file in the disk with the contents of the buffer.

为保证高速,“缓存”由静态内存构成而不是动态内存,因动态内存会稍慢。这块区域会被所有运行的程序所访问,因其不用每次都用较慢的搜索磁盘的方式寻找内容,所有会更快速些。“缓冲”一般由内存构成,其会一直跟踪程序最新的临时数据,直到保存到磁盘为止。例,字处理软件保存时首先将内存存在缓冲里,然后才会将缓存的数据保存到硬盘。

The buffer is mostly used for input/output processes, for example, in printing. When one sends the documents to be printed to the printer, the information is stored in a buffer, and the printer can then access this information at its own pace, and this frees the CPU to perform other tasks. A buffer is also used when burning information to compact disks where the data to be burned is first stored in the buffer from where it is then transferred to the disk during the burning process. Cache is mostly used during reading and writing processes to the main disk to make the process faster by making similar data used by different programs easily accessible.

“缓冲”一般用来输出/输出处理,例,打印服务,当发送文件给打印机时,文档先存在缓冲里,打印机可以访问这块区域,这样CPU也可以先去执行其它任务。缓冲也用在刻盘光盘的过程,所以待刻录数据先存在缓冲里,刻录时才传到光盘写入。“缓存”大多数用户在读/写进程操作磁盘时,这样不同进程可以容易的访问相同的保存在磁盘上的数据。

Cache can either be part of ram or the disk. When the main disk is used as a cache, the process is referred to as disk caching, and this also works as memory caching where the recently used data is stored in the disk cache. If a running program wants to access data from the disk, it first checks the disk cache and will only check the disk if the required data is not available in the disk cache. This makes the data access process much faster since accessing it from the disk is much slower. A buffer can only be part of ram.

“缓存”可以是部分内存或部分磁盘。当把磁盘当作缓存时,这是磁盘缓存;当把作内存最近使用的数据保存在磁盘缓存时,这是内存缓存。当一个程序想从磁盘访问数据时,首先检查磁盘缓存,如果磁盘缓存无效时,程序才检查磁盘(注意没有缓存两字),这样比从磁盘直接获取速度快很多。“缓冲”只能是内存的一部分。

Summary:
1.Cache is a high-speed storage area while a buffer is a normal storage area on ram for temporary storage.
2.Cache is made from static ram which is faster than the slower dynamic ram used for a buffer.
3.The buffer is mostly used for input/output processes while the cache is used during reading and writing processes from the disk.
4.Cache can also be a section of the disk while a buffer is only a section of the ram.
5.A buffer can be used in keyboards to edit typing mistakes while the cache cannot.

总结:

1.缓存是一块高速存储区域,而缓冲是内存的一部分用来存储临时数据;

2.缓存使用静态内存,比使用动态内存的缓冲更快(注:应该当两者均使用内存时);

3.缓冲一般用在输入/输出处理上,而缓存是读/写磁盘上;

4.缓存可以是部分存在硬盘上,而缓冲只能存在内存上;

5.缓冲可以用在键盘输入编辑上,而缓存不能(注:这也算:)?)

另外一篇讲解的也不错,可以参考下 http://www.differencebetween.info/difference-between-cache-and-buffer

》简单的翻译有错莫怪《

时间: 2024-10-17 00:58:12

缓存与缓冲的区别 Difference Between Cache and Buffer的相关文章

Cache vs Buffer

缓存 VS 缓冲 写出 VS  写入 The terms "buffer" and "cache" tend to be used interchangeably; note however they represent different things. A buffer is used traditionally as an intermediate temporary store for data between a fast and a slow entit

fgetc read缓冲机制区别

read属于系统调用,它的缓存是基于内核的缓冲,是记在内核空间的. 而fgetc是标准函数, 是在用户空间I/O缓冲区的 比如用fgetc读一个字节,fgetc有可能从内核中预读1024个字节到I/O缓冲区中,再返回第一个字节,这时该文件在内核中记录的读写位置是1024,而在FILE结构体中记录的读写位置是1. 所以如果read一次读取的缓冲大小是1个字节,则1K的文件,read需要调1024次系统调用.而同样是一次只读一个字节,fgetc只调用一次系统调用. fgetc read缓冲机制区别

Linux Free命令每个数字的含义 和 cache 、buffer的区别

Linux Free命令每个数字的含义 和 cache .buffer的区别 我们按照图中来一细细研读(数字编号和图对应)1,total:物理内存实际总量2,used:这块千万注意,这里可不是实际已经使用了的内存哦,这里是总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用.3,free:未被分配的内存4,shared:共享内存5,buffers:系统分配的,但未被使用的buffer剩余量.注意这不是总量,而是未分配的量6,cached:系统分配的,但未

cache与buffer的区别

Cache vs Buffer 高速缓存和缓冲区 缓存区cache和缓冲区buffer都是临时存储区,但它们在许多方面有所不同.缓冲区buffer主要存在于RAM中,作为CPU暂时存储数据的区域,例如,当计算机和其他设备具有不同的速度时, buffer存储着缓冲的数据, 这样计算机就可以完成其他任务了.另一方面,高速缓存cache是一种高速存储区域,可以是主存或硬盘等其他独立存储区域的一部分.这两种缓存方法分别被称为内存缓存和磁盘缓存. cache在cpu和内存之间,它的速度比内存快,但是造价高

[转] Cache 和 Buffer的区别

程序员开发过程中经常会遇到“缓存”.“缓冲”等相似概念,之前没有特别关注,现在停下来做一下总结,才能更好地前行. 先来下枯燥的概念: 1.Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而  Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能.Cache并不是缓存文件的,而是缓存块的(块是I/O读写最小

Linux系统中的Page cache和Buffer cache

Linux系统中的Page cache和Buffer cache Free命令显示内存 首先,我们来了解下内存的使用情况: Mem:表示物理内存统计 total:表示物理内存总量(total = used + free) used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用. free:未被分配的内存. shared:共享内存. buffers:系统分配但未被使用的buffers 数量. cached:系统分配但未被使用的cache 数量.

linux cache and buffer【转】

转自:http://blog.csdn.net/turkeyzhou/article/details/6426738 版权声明:本文为博主原创文章,未经博主允许不得转载. Linux下对文件的访问和设备的访问通常会被cache起来加快访问速度,这个是系统的默认行为. 而cache需要耗费我们的内存,虽然这个内存最后可以通过echo 3>/proc/sys/vm/drop_caches这样的命令来主动释放.但是有时候我们还是需要理解谁消耗了我们的内存. 我们来先了解下内存的使用情况: [[emai

linux 内存中cache和buffer解析

cache是从磁盘读数据到内存中的缓存,减少读取磁盘的次数, 大家知道的硬盘读取速度过慢. buffer是准备从内存写到硬盘的缓存,缓存中的数据会进行合并 同时,避免频繁操作硬盘. linux 内存中cache和buffer解析

cache 与 buffer

Cache和Buffer是两个不同的概念,简单的说,Cache是加速"读",而 buffer是缓冲"写",前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据.在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为buffer cache,在Oracle Instance里同样有一块区域作为数据库缓冲区&&高速缓存.本文主要内容摘抄自<MySQL高性能书籍>.<Oracle9i Data