缓存一致性(写穿透、写回):未读内存直接更新的状态确认
缓存一致性场景状态确认
你的推测完全正确,以下是两种缓存机制在该场景下的具体行为说明:
初始状态(串行1)
内存存储值为X,对应缓存块为空。
串行2:P执行X的更新操作
写穿透(Write-Through)机制
写穿透的核心逻辑是写操作同步更新缓存与内存:
- 当P发起更新请求时,会立刻将缓存中的对应块更新为
X',同时把内存中的值也同步修改为X',确保缓存和内存数据完全一致。
写回(Write-Back)机制
写回机制的核心是延迟更新内存:
- P发起更新请求时,仅修改缓存中的对应块为
X',并将该缓存块标记为「脏块」(表示缓存数据与内存不一致);内存中的值仍保持初始的X,只有当这个脏缓存块被淘汰出缓存时,才会将X'写回内存。
整理后的状态表如下:
| 串行步骤 | 事件 | 写穿透机制 | 写回机制 |
|---|---|---|---|
| 内存 | 缓存 | ||
| 1 | - | X | 空 |
| 2 | P updates X | X' | X' |
内容的提问来源于stack exchange,提问作者Marly
相关产品推荐
相关产品推荐

