zoukankan      html  css  js  c++  java
  • 每日一问14: 缓存和缓冲的区别

    每日一问14: 缓存和缓冲的区别

    ​ 这两个名词在英文中,本来是不会混淆的,缓冲buffer,缓存cache,但是翻译成中文后却很容易搞混,要注意区分。

    ​ 这两个概念并不是指泾渭分明的两个东西,而是不同角度的事物。先看一下《深入理解计算机系统》中对于缓存的定义:

    一般而言,高速缓存(cache)是一个小而快速的存储设备,它作为存储在更大、也更慢的设备中的数据对象的缓冲区域。适用高速缓存的过程称为缓存(caching)。(CSAPP,第三版p422)

    ​ 可以看到,计算机系统中,缓存就是一块具体的缓冲区域。所以我们可以说,缓冲是一个相对抽象的概率,而缓存是缓冲的一个具体实现。这一点也可以从高速缓存的全称,高速缓冲存储器得知。

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

    ​ 如果非要说这两者之间的区别,我在网上找到的说法如下: https://www.cnblogs.com/mlgjb/p/7991903.html

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

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

  • 相关阅读:
    redis导入导出工具redisdump,centos7安装使用
    mysql 锁表情况,处理笔记
    python语言
    pythonhello world
    常用单词
    Django课堂笔记 1
    JS之随机点名系统
    js之简易计算器
    JS之放大镜效果
    SQLServer索引漫谈
  • 原文地址:https://www.cnblogs.com/honernan/p/14618801.html
Copyright © 2011-2022 走看看