linux 中 cache 和 buffer 的区别

马谦马谦马谦 Linux评论162字数 382阅读 1 分 16 秒阅读模式

本文内容来源于知乎问答:Cache 和 Buffer 都是缓存,主要区别是什么?,根据各回答内容整理得到。

首先整理下两者的概念:

​ cache 是缓存,buffer 是缓冲。两者从名字来看十分相近,功能并不一样,不仔细琢磨很容易把两者混为一谈。

区别:

  1. 缓存的主要目的是为了提速,系统把部分磁盘的内存放到缓存中来提高运行速度。关键的一点是,如果缓存丢失,并不影响磁盘数据读取,只是读写速度慢一些。
  2. 缓冲的作用恰如其名——起一个缓冲的作用。例如写文件的时候,每次写一个字节,如果每次都把这 1 个字节写到磁盘,严重影响运行效率。而缓冲的作用就是把这些 1 字节的数据存起来,到一定的数量之后统一写到磁盘。同时,和缓存不同的是,缓冲区中的数据如果丢失了,数据就会永久丢失 (例如:linux 系统中 dmesg 的实现就是一个环形缓冲区,当日志过多时,后来的日志就会刷掉原来的,导致日志信息显示不全) 。

 
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2019 年 10 月 7 日 18:20:00
  • 转载请务必保留本文链接:https://www.dyxmq.cn/linux/the-different-between-cache-and-buffer.html
CentOS5 YUM源 CentOS

CentOS5 YUM 源

centos5 已停止了维护,国内大部分的源也停止维护,找了很久都没有找到可用的源。最后才发现,centos 早期的源都已经 vault.centos.org 网站下,国内的镜像源也都改成了 centos-va...
openssl命令的用法 Linux

openssl 命令的用法

openssl 是目前使用最广泛的 ssl 库之一,除了提供全面的 ssl 加密库以外,还提供了一些基础的命令行工具用于测试,目前绝大多数的软件都是使用 openssl 库来进行 ssl 交互,很多系统默认都自带了 op...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证