检查缓存是否过时的算法

时间:2012-09-10 10:39:54

标签: python algorithm caching

我的python脚本做了一些繁重的计算。为了提高性能,它将计算出的数据缓存在磁盘上,以便下次运行它时,不会浪费时间计算相同的东西。但是,在从缓存中提取数据之前,需要进行一些检查以确保缓存不是陈旧的。这是我被卡住的部分。

我的第一个想法是比较缓存的创建时间和python脚本的修改时间,如果后者比前者更大(即更新),我会认为缓存是陈旧的,否则不是。但是,由于linux内核不存储文件的创建时间,所以我陷入了困境。

类似情况:
当python解释器从.py文件创建.pyc文件时,它会执行类似的操作 - >如果我在创建.pyc文件后修改.py文件,则会创建一个新的.pyc文件,否则它不会。它是如何做到的?我想知道算法。谢谢。

2 个答案:

答案 0 :(得分:2)

只需检查缓存文件的上次修改时间即可。

更好的是,这是你真正想要检查的内容,因为当你更新你的缓存以存储新的计算值时,你想知道什么时候最后完成,而不是那时是第一次完成。 : - )

答案 1 :(得分:0)

您可以拥有一个元数据文件,其中包含所有缓存实体的列表及其创建时间

相关问题