当前位置: 首页 > news >正文

缓存与缓冲

缓存的思想由来已久,简单地说,缓存的目的就是把需要花费昂贵开销的计算结果保存起来,在以后需要的时候直接取出,而避免重复计算,一切缓存的本质都是如此。计算机乃至互联网,缓存的应用数不胜数,我们都知道CPU缓存,它是位于CPU和内存之间的临时存储器,它的容量不大,但是交换速度要高于内存,CPU将频繁交换的数据放在缓存中,如果以后需要则直接读取缓存,从而避免访问速度较慢的内存,不可否认,尽管我们认为内存速度已经很快,但是在CPU缓存面前,它还是力不从心。

缓冲(buffer)。缓冲的原意出自物理学,那就是减缓冲击力,在计算机应用场景中,我们使用它的引申含义,其目的在于改善各部件之间由于速度不同而引发的问题。比如将用户态地址空间的数据写入磁盘时,显然内存的速度比磁盘速度要快得多,所以人们设计了磁盘缓冲区,让数据源源不断地流进缓冲区,再由缓冲区负责写入磁盘,这样内存便可以不必随着磁盘的慢节奏来工作,所以磁盘缓冲区起到了将快速设备和慢速设备平滑衔接的作用,另外我们在线观看视频的时候,视频缓冲区的意义也是如此。

缓冲和缓存有一些相似之处,比如它们都需要一块存储区,而且它们的本质都与速度不一致有关,即便是缓存,如果计算速度和读取缓存的速度差不多,那么它也毫无意义。但是,缓存更加注重的是策略,也就是说缓存命中率,如果每次都能在缓存中找到需要的数据,那是最理想的结果,如果每次都在缓存中找不到需要的数据,那么缓存将变得毫无价值,并且还由于缓存的管理逻辑增加了新的开销。所以凡是使用缓存,都一定要意识到命中率的重要性。

相关文章:

  • 一个JAVA程序员的成长经历
  • 记萌新赛的命题过程与踩气球过程
  • Mysql的连接状态
  • java集合类(二)
  • 对OpenCV中Haar特征CvHaarClassifierCascade等结构理解
  • 《代码整洁之道》读书笔记
  • ArcEngine标注和注记(-)
  • cucumber安装可能发生的错误
  • Java获取本地IP地址
  • vue的路由传值query方法
  • Linux 安装python3.7.0
  • TensorFlow教程03:针对机器学习初学者的MNIST实验——回归的实现、训练和模型评估...
  • 云计算人才观念更重要
  • 以流动债务为例论指标的合理使用
  • 初学python,感受和C的不同
  • 【css3】浏览器内核及其兼容性
  • Brief introduction of how to 'Call, Apply and Bind'
  • CODING 缺陷管理功能正式开始公测
  • DOM的那些事
  • HashMap ConcurrentHashMap
  • Leetcode 27 Remove Element
  • MQ框架的比较
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • php ci框架整合银盛支付
  • python 学习笔记 - Queue Pipes,进程间通讯
  • 番外篇1:在Windows环境下安装JDK
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 入口文件开始,分析Vue源码实现
  • 双管齐下,VMware的容器新战略
  • 硬币翻转问题,区间操作
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用Visual Studio开发以太坊智能合约
  • 运行时添加log4j2的appender
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 阿里云重庆大学大数据训练营落地分享
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (四)c52学习之旅-流水LED灯
  • (四)事件系统
  • .NET Core跨平台微服务学习资源
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .net8.0与halcon编程环境构建
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .Net多线程Threading相关详解
  • .net项目IIS、VS 附加进程调试
  • .NET学习全景图
  • 。。。。。
  • ;号自动换行