热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

计组之存储系统:8、Cache写策略(全写法、写回法、写分配法、非写分配法、多级Cache)

8、Cache写策略思维导图存在的问题Cache写策略写回法全写法写分配法非写分配法多级Cache思维导图存在的问题Cache写策略写回法先修改Cache中的数据,然


8、Cache写策略

  • 思维导图
  • 存在的问题
  • Cache写策略
    • 写回法
    • 全写法
    • 写分配法
    • 非写分配法
  • 多级Cache


思维导图

在这里插入图片描述


存在的问题

在这里插入图片描述


Cache写策略

在这里插入图片描述


写回法

在这里插入图片描述


先修改Cache中的数据,然后通过脏位判断是否被修改过;若修改过写会主存,没修改过不必写会
CPU----->Cache------>主存



全写法

在这里插入图片描述


1、CPU往Cache写数据的同时也往主存中写数据,一直保存数据一致
2、由于CPU往主存中写数据很慢,所以需要一个写缓冲队列;
3、当往Cache1和Cache3写数据时,会按照某种方式往写缓冲中写一份,然后CPU可以继续做其他事情,写缓冲中的数据由专门的硬件电路写入主存
4、当写频繁时,有可能出现写缓冲满的情况,这时CPU会因为写缓冲饱和而发生阻塞



写分配法

在这里插入图片描述


1、未命中,则先将数据从主存调入Cache,然后在对Cache进行写,最后用写回法将Cache中的数据写会主存



非写分配法

在这里插入图片描述


CPU直接写入主存,不与Cache交互



多级Cache

在这里插入图片描述


推荐阅读
  • 本文探讨了大型服务端开发过程中常见的几个误区,包括异步任务处理不当、日志同步模式使用、网络操作未设置超时、缓存命中率及响应时间未统计、单一缓存模式、分布式缓存加锁不当以及团队管理上的误区,旨在帮助开发者避免这些常见错误。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • MySQL性能测试标准倡议:老叶提出的压测基准
    进行MySQL的压力测试通常是为了评估新旧版本之间的性能差异、验证硬件升级的效果、测试参数调整的影响以及评估新业务的负载承受能力。老叶提出了一个MySQL压力测试基准值倡议,旨在促进行业内的标准化和成果共享。 ... [详细]
  • 本文探讨了实时操作系统中的两种主要调度策略——速率单调调度与最早期限优先调度,并深入分析了多处理器环境下的调度挑战及优先级反转问题的解决方案。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 近期遇到 M1 Mac Mini 在休眠状态下频繁自动重启的问题,通过日志分析尝试找出可能的原因。 ... [详细]
  • Scrapy:强大的Python爬虫框架
    Scrapy是一个基于Python的高效网页爬取框架,利用Twisted异步网络库实现高效的网络通信。其架构设计精巧,包括核心组件如引擎、调度器、下载器等,旨在简化大规模数据抓取过程。 ... [详细]
  • 本文将详细探讨 Linux 系统中的 netstat 命令,该命令用于查看网络状态和连接情况。通过了解 IP 地址和端口的基本概念,我们将更好地理解如何利用 netstat 命令来监控和管理网络服务。 ... [详细]
  • 本章探讨了使用固定数组实现栈和队列的基本方法,以及如何通过这些基本结构来实现更复杂的操作,如获取栈中的最小值。此外,还介绍了如何利用栈来模拟队列的行为,反之亦然。 ... [详细]
  • java程序员_Java程序员最新职业规划,逆袭面经分享
    java程序员_Java程序员最新职业规划,逆袭面经分享 ... [详细]
  • Canvas漫游:碰撞检测与动画模拟
    探索Canvas在Web开发中的应用,通过碰撞检测与动画模拟提升交互体验。 ... [详细]
  • MainActivityimportandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;im ... [详细]
  • 本文介绍了MySQL数据库的安全权限管理思想及其制度流程,涵盖从项目开发、数据库更新到日常运维等多个方面的详细流程控制,旨在通过严格的流程管理和权限控制,有效预防数据安全隐患。 ... [详细]
  • 加速(Speedup)是在多核心CPU机器上运行应用程序(相比单核心CPU机器)所能够预期的性能效益。测量加速时,是以单核心CPU机器的性能为基线。当然,你可能会认为同一个App(应用程序)在双核心C ... [详细]
author-avatar
被撑死的猫。。。
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有