搜狐媒体平台-搜狐网站>IT

他一出家就成中国最帅和尚

眼眸深邃、轮廓分明、身材颀长,活生生的一幅画。

大学副教授与在押服刑女结婚

这在监狱民警看来,那么令人不可思议。

两张图,秒懂 Buffer 和 Cache 之间的区别

51cto博客mp 阅读(0) 评论()
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。举报

  作者:沈万马

  链接:https://www.zhihu.com/question/26190832/answer/146259979

  俩英文单词,不先看看本义吗?虽然都是抽象单词,但在各个地方都有具象的应用。

  Buffer 常见的是这个

<img src="https://pic4.zhimg.com/v2-b7b66d782898210d7bd22439e9238df3_b.jpg" data-rawwidth="512" data-rawheight="384" class="origin_image zh-lightbox-thumb" width="512" data-original="https://pic4.zhimg.com/v2-b7b66d782898210d7bd22439e9238df3_r.jpg">

  

  对,就是铁道端头那个巨大的弹簧一类的东西。作用是万一车没停住,撞弹簧上减速慢,危险小一些。叫缓冲。

  Cache 常见的是这个

<img src="https://pic3.zhimg.com/v2-15f852f7456fc701c936075d9174f8ba_b.jpg" data-rawwidth="1024" data-rawheight="768" class="origin_image zh-lightbox-thumb" width="1024" data-original="https://pic3.zhimg.com/v2-15f852f7456fc701c936075d9174f8ba_r.jpg">(来源:

  

  没错,就是一种保管箱。看到右边那个被锈掉的 Food Cache 没?这是部署在森林里的存应急物资的保管箱。功能是把你需要用的东西放在更容易拿到的地方。虽然常用准确翻译叫缓存,但个人以为意思表达的不对,丢了一半的功能。台湾的翻译更好,叫快取。

  相信看完这些应该不用我说区别了?...哎呀还是卖弄一下吧!

  简单说,Buffer 的核心作用是用来缓冲,缓和冲击。比如你每秒要写 100 次硬盘,对系统冲击很大,浪费了大量时间在忙着处理开始写和结束写这两件事嘛。用个 buffer 暂存起来,变成每 10 秒写一次硬盘,对系统的冲击就很小,写入效率高了,日子过得爽了。极大缓和了冲击。

  Cache 的核心作用是加快取用的速度。比如你一个很复杂的计算做完了,下次还要用结果,就把结果放手边一个好拿的地方存着,下次不用再算了。加快了数据取用的速度。

  所以,如果你注意关心过存储系统的话,你会发现硬盘的读写缓冲/缓存名称是不一样的,叫 write-buffer 和 read-cache。很明显地说出了两者的区别。

  当然很多时候宏观上说两者可能是混用的。比如实际上 memcached 很多人就是拿来读写都用的。不少时候 Non-SQL 数据库也是。严格来说,CPU 里的 L2 和 L3 Cache 也都是读写兼用——因为你没法简单地定义 CPU 用它们的方法是读还是写。硬盘里也是个典型例子,buffer 和 cache 都在一块空间上,到底是 buffer 还是 cache?

  不过仔细想一下,你说拿 cache 做 buffer 用行不行?当然行,只要能控制 cache 淘汰逻辑就没有任何问题。那么拿 buffer 做 cache 用呢?貌似在很特殊的情况下,能确定访问顺序的时候,也是可以的。简单想一下就明白——buffer根据定义,需要随机存储吗?一般是不需要的。但 cache 一定要。所以大多数时候用 cache 代替 buffer 可以,反之就比较局限。这也是技术上说 cache 和 buffer 的关键区别。

  补充

  • 补充1:不要误解 Buffer 就是用来写的,Cache 就是用来读的。读可以用 Buffer 吗?当然可以,比如你想一批一批地处理读取而非有啥处理啥的时候,就可以用读 buffer。写当然也可以用 cache,比如你的写入有很高的随机性的时候。具体什么场景用 Buffer 什么场景用 Cache 要根据场景的具体需要决定。

  • 补充2:不要误解 Cache 或 Buffer 就一定是内存或者存在什么高速媒介上的东西。只要相对高速即可。我完全可以在硬盘上存 Cache,比如有些游戏会在运行时建立预编译的 shader(暴露年龄),这本质上就是一种 cache,它存在速度缓慢的硬盘上,因为读硬盘依旧比重新编译要快。Buffer 也同理,例如 NTFS 文件系统自己就有 Logging Buffer,这个甚至明确拒绝放在任何易失缓存里。

mt.sohu.com true 51cto博客mp https://mt.sohu.com/20170223/n481551477.shtml report 4277 作者:沈万马链接:https://www.zhihu.com/question/26190832/answer/146259979俩英文单词,不先看看本义吗?虽
最后修改于2017-02-24 18:08:50 阅读(0) 举报
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。

热门关注

搜生活

搜生活+关注

搜狐公众平台官方账号

MAGIC杨梦晶

MAGIC杨梦晶+关注

生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者

搜狐教育

搜狐教育+关注

搜狐网教育频道官方账号

星吧GEO

星吧GEO+关注

全球最大华文占星网站-专业研究星座命理及测算服务机构

热门图片

  • 热点视频
  • 影视剧
  • 综艺
  • 原创
锦绣缘

同步热播-锦绣缘

主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
神雕侠侣

大结局-神雕侠侣

主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
封神英雄榜

同步热播-封神英雄榜

主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓

六颗子弹

主演:尚格·云顿/乔·弗拉尼甘/Bianca Bree
龙虎少年队2

龙虎少年队2

主演:艾斯·库珀/ 查宁·塔图姆/ 乔纳·希尔

《奔跑吧兄弟》

baby14岁写真曝光

《我看你有戏》

李冰冰向成龙撒娇争宠

《明星同乐会》

李湘遭闺蜜曝光旧爱

《非你莫属》

美女模特教老板走秀

《一站到底》

曝搬砖男神奇葩择偶观

搜狐视频娱乐播报

柳岩被迫成赚钱工具

大鹏嘚吧嘚

大屁小P虐心恋

匆匆那年第16集

匆匆那年大结局

隐秘而伟大第二季

乔杉遭粉丝骚扰

The Kelly Show

男闺蜜的尴尬初夜

我来说两句排行榜

客服热线:86-10-58511234

客服邮箱:kf@vip.sohu.com