4

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

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

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

4

2 回答 2

2

只需检查缓存文件的最后修改时间。

更好的是,无论如何这都是您真正想要检查的内容,因为当您更新缓存以存储的计算值时,您想知道最后一次完成的时间,而不是第一次完成的时间。:-)

于 2012-09-10T16:56:38.820 回答
0

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

于 2012-09-10T10:45:28.130 回答