返回知识库

数据与服务 · 服务与数据

缓存Cache

缓存是放在慢数据前面的易失副本:命中就秒回,未命中才回源;写操作后要主动失效。

先认出这张桌上便签,再决定什么时候撕

下面就是放在慢柜子前面的那张副本。默认命中 v12、2ms。改了源却不撕,便签仍写旧版;撕掉再读,才取回 v13。

桌上便签 · GET /articles/7HIT · 2 ms

文章 #7 · v12

REST 资源建模

柜子没被碰

HIT · 2 ms命中或写回都长在这张纸条上。

原因:可重建的副本放在慢柜子前面,命中就不用回源。下一步:试「改了源却不撕纸条」,看旧版怎样留在桌上。

知识点:缓存是能重建的易失副本

便签上的版本已经演示了核心关系,这里只给可复用的命名。

  • 命中:纸条还在,直接返回,不碰数据库。
  • 未命中:回源取真值,再写回便签,下次才能秒回。
  • 写后要失效:源变了却不撕,读者会一直拿到旧版。
  • 和数据库的边界:库是认账的真数据;缓存丢了可以重建。

什么时候用、怎么用

同一份公开数据被反复读、源又慢或贵时,才在前面放缓存。

  • 信号:热门文章、配置、不常改的列表,读远多于写。
  • 适用:可重建、可短暂旧、能接受失效策略的数据。
  • 不适用:用户私有余额、必须立刻一致的库存——别共用一张便签。
  • 最短路径:读先看便签 → 空了回源写回 → 写源后主动撕掉或短 TTL。

正反例:同一篇刚改过的文章,只换撕不撕

目标都是让读者看到新标题,只改更新后是否失效。

正例写后撕掉便签

下次是 MISS,回柜取 v13 再贴回。读者看到新稿。

反例改了源却留着旧纸条

命中率很高,但读到的仍是 v12。旧版写在便签上。

快速自测

编辑刚改了文章标题,列表里有人仍看到旧标题。先查什么?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。