我正在尝试为我的python服务器构建一个缓存,但到目前为止,我遇到的并不是我想要的所有内容。我想要一个基于参数缓存结果的缓存/ memoization装饰器,即不同的参数有不同的缓存,每个缓存在TTL分钟后到期。缓存中的元素数量也应该是最大值。
我发现了这个(我们使用的是Python 2.7)并且除了expiration / TTL之外它还能做我想要的一切。 backport of Python 3's lru_cache
我试图对它进行一些修改以支持TTL,但是我在代码的LRU部分遇到错误,它正在改变缓存中的链接。我不认为上面的代码需要很多更改来添加TTL支持,我只是对LRU缓存的东西感到困惑并且在实现它时遇到了问题。
您可以找到我的代码here
有没有人以前实现过这个,或者可以帮助我在上面的backport代码中添加对TTL的支持?
由于
编辑:我可能已修复它...我做了一些小改动which you can find here,只是将缓存结果与LRU指针内容分开,看起来它正在工作