今天被人问及什么是cache,什么是buffer,两者之间的区别是什么,作为菜鸟的我蒙了。我只知道cache是内存的闲置空间用来缓存数据块的,以提高数据读取的速率,而buffer是缓冲区,但是具体含义以及作用我却一概不知,感觉甚是惭愧,所以下来赶紧查资料,补充自己的知识量。
cache:A cache is something that has been "read" from the disk and stored for later use. cache就是已经从磁盘中读取过而被存储在内存空间的内容,方便下一次读取,从而减少了等待时间,提高访问速度。cache不是缓存的文件,而是块(I/O读写的最小单元)。
buffer:A buffer is something that has yet to be "written" to disk。buffer是用来存储一些已经被读取但没被写入磁盘的内容,等待之后的内容被读取统一写入磁盘。把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写入磁盘),也可以通过sync命令手动清空缓冲。一个简单的例子如某个进程要求有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存。
时间: 2024-10-08 20:04:36