sil*_*ado 6 python decorator memoization
我一直在寻找一个python模块,它提供了一个具有以下功能的memoize装饰器:
我发现了几个小的代码段用于这个任务,很可能实现一个自己,但我宁愿有一个既定的软件包这一任务.我也发现了incpy,但这似乎不适用于标准的python解释器.
理想情况下,我希望functools.lru_cache在磁盘上加上缓存存储.有人能指点我这个合适的套餐吗?
我不知道有哪个 memoize 装饰器可以处理这一切,但您可能想看看ZODB。它是一个构建在其之上的持久性系统,pickle提供了一些附加功能,包括能够在不使用对象时将对象从内存移动到磁盘以及仅保存已修改的对象的能力。
编辑:作为评论的后续行动。ZODB 不支持开箱即用的记忆化装饰器。不过,我认为你可以:
之后,如果您创建该类的对象并将其添加到 ZODB 数据库,则当您执行其中一个 memoized 方法时,该对象将被标记为脏,并且更改将在下一个事务提交操作中保存到数据库中。