操作系统缓存一致性

写回机制


为什么把当前写入的数据先从内存读入到cache block中,还是要标记脏(Dirty)

因为我们要写入的数据,写操作通常只修改 Cache Block 中的一部分(一个字、半字节等),不是整个 Block。所以要先从内存读入完整的block,再进行写操作。

缓存一致性


如何解决缓存一致性的问题呢?

总线嗅探的方式很简单,就是比如ACPU修改了他的值,通过总线广播给其他核心,进行同步更改和A相同的数据。但是这个总线负载太大了,引入了MESI协议

MESI协议

无效就是一个数据在多个核心同时有,给了其中一个,别的要改为无效状态

相关推荐
野生技术架构师2 小时前
聊聊五种 Redis 部署模式
数据库·redis·缓存
C++chaofan8 小时前
项目中为AI添加对话记忆
java·数据结构·人工智能·redis·缓存·个人开发·caffeine
Terio_my9 小时前
J2Cache 多级缓存配置与使用
缓存
野熊佩骑10 小时前
一文读懂Redis之数据持久化
linux·运维·数据库·redis·缓存·中间件·centos
gsfl10 小时前
redis特性和应用场景
数据库·redis·缓存
Java永无止境14 小时前
延时任务之Redis 过期事件监听原理与缺陷
数据库·redis·缓存·延时任务
java1234_小锋14 小时前
Redis线上操作最佳实践有哪些?
数据库·redis·缓存
麦兜*19 小时前
Redis多租户资源隔离方案:基于ACL的权限控制与管理
java·javascript·spring boot·redis·python·spring·缓存
gsfl19 小时前
Redis 数据库管理与通信基础
数据库·redis·缓存
gsfl20 小时前
Redis 扩展数据类型
数据库·redis·缓存