我正在尝试使用klepto (v0.1.5.2)来缓存一些非常繁重和耗时的计算。特别是,我使用lru_cache作为装饰器,并使用hdfdir_archive缓存归档。
我按照in this answer的建议,使用lru_cache中的purge=False选项成功地将缓存内容持久化到磁盘上,它的效果非常好。无论如何,我会偶尔重新计算函数(即使使用相同的输入参数),因为一些计算基于的数据可能会在一段时间后发生变化。
作为简单的解决方法,我认为可以将当前日期包含在函数的输入参数中,实现一个自定义keymap来检查旧条目是否已过期;但我还没有找到如何自定义keymaps的示例,所以我不知道这个解决方案是否可行或可以工作。
但是,我想知道klepto中是否已经提供了更优雅或更简单的解决方案。换句话说,是否有一个选项或策略可以在一段预设的时间后自动使缓存条目无效?
谢谢!
发布于 2018-07-23 21:38:28
我是klepto的作者。klepto中没有具有过期条目的缓存,但是它在TODO列表中。
https://stackoverflow.com/questions/51479791
复制相似问题