python - 检查缓存是否过时的算法

标签 python algorithm caching

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

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

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

最佳答案

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

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

关于python - 检查缓存是否过时的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12349970/

相关文章:

c# - Web API 2.0 IHttpActionResult 缓存

ruby-on-rails - Rails 3/Heroku/Memcached - 未命中/未命中、存储/新鲜

python - 欧拉计划问题 17 Python

python - 与 VISA 的设备通信在 Python 中有效,但在 C++ 中无效

python - 基于 pandas 列中的元素存储和绘制 ECDF 值

java - 找到两个线性等式成立的整数集

algorithm - "Approximate"最大公约数

c++ - 快速中值更新算法

c - 三度树的递归和非递归遍历

PHP 删除所有包含给定字符串的文件