From a541d18c71a3707291f85dd140fa91fd2c7b00b5 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Sun, 25 Oct 2026 18:52:37 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E7=BC=93=E5=AD=98.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补一张时序图,说明先删除缓存再更新数据库时,读请求会把旧值写回缓存。 --- notes/pics/cache-aside-race.png | Bin 0 -> 86854 bytes notes/缓存.md | 2 + tools/diagram/src/cache-aside-race.svg | 52 +++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 notes/pics/cache-aside-race.png create mode 100644 tools/diagram/src/cache-aside-race.svg diff --git a/notes/pics/cache-aside-race.png b/notes/pics/cache-aside-race.png new file mode 100644 index 0000000000000000000000000000000000000000..bd150ceb39c65eab193ede1740933bae0f19900a GIT binary patch literal 86854 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

PBB^4nW4$F+;& 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 OrKP5%p@^2Z@cTc(!fe|B literal 0 HcmV?d00001 diff --git a/notes/缓存.md b/notes/缓存.md index eb293c3c..1a6cffa1 100644 --- a/notes/缓存.md +++ b/notes/缓存.md @@ -128,6 +128,8 @@ CDN 主要有以下优点: 删除缓存而不是更新缓存,是因为两个并发的写操作到达缓存的顺序可能和到达数据库的顺序不同,导致缓存中是旧值。先更新数据库再删除缓存,是因为反过来的话,删除缓存之后、更新数据库之前的读请求会把旧值重新写入缓存。 +


+ 这种模式仍然存在小概率的不一致,例如删除缓存失败。常用的补救措施: - 为缓存设置过期时间作为兜底; diff --git a/tools/diagram/src/cache-aside-race.svg b/tools/diagram/src/cache-aside-race.svg new file mode 100644 index 00000000..92e67788 --- /dev/null +++ b/tools/diagram/src/cache-aside-race.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + 先删除缓存再更新数据库 + + + + + + + 写请求 + + + 缓存 + + + 数据库 + + + 读请求 + + ① 删除缓存 + + ② 读缓存未命中 + + ③ 读到旧值 + + ④ 更新为新值 + + ⑤ 把旧值写入缓存 + 缓存中一直是旧值,直到被删除或过期 +