1. 先看卡片
已有记录,直接使用。
公开演示 · 概念讲解
缓存就是把常用的结果先放在手边,下次不用重做。
第一次找某本书的出版年份,你翻开书查了一次。把年份写在卡片上,下次直接看卡片就好。
已有记录,直接使用。
重新查找需要的内容。
为下一次查询保存结果。
cache = {}
def get_year(book_id):
if book_id in cache:
return cache[book_id]
year = lookup_year(book_id)
cache[book_id] = year
return yearlookup_year 是示意的查询函数,这段代码用于解释流程,不是完整程序。
如果原始数据变了,卡片也要更新。缓存的难点不仅是“记住”,还有“什么时候忘掉”。