我的python脚本做了一些繁重的计算。为了提高性能,它将计算出的数据缓存在磁盘上,以便下次运行它时,不会浪费时间计算相同的东西。但是,在从缓存中提取数据之前,需要进行一些检查以确保缓存不是陈旧的。这是我被卡住的部分。
我的第一个想法是比较缓存的创建时间和python脚本的修改时间,如果后者比前者更大(即更新),我会认为缓存是陈旧的,否则不是。但是,由于linux内核不存储文件的创建时间,所以我陷入了困境。
类似情况:
当python解释器从.py文件创建.pyc文件时,它会执行类似的操作 - >如果我在创建.pyc文件后修改.py文件,则会创建一个新的.pyc文件,否则它不会。它是如何做到的?我想知道算法。谢谢。
答案 0 :(得分:2)
只需检查缓存文件的上次修改时间即可。
更好的是,这是你真正想要检查的内容,因为当你更新你的缓存以存储新的计算值时,你想知道什么时候最后完成,而不是那时是第一次完成。 : - )
答案 1 :(得分:0)
您可以拥有一个元数据文件,其中包含所有缓存实体的列表及其创建时间