Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 制作支持最大大小、过期/ttl和基于参数的缓存的缓存装饰器_Python_Caching_Memoization - Fatal编程技术网

Python 制作支持最大大小、过期/ttl和基于参数的缓存的缓存装饰器

Python 制作支持最大大小、过期/ttl和基于参数的缓存的缓存装饰器,python,caching,memoization,Python,Caching,Memoization,我试图为我的python服务器构建一个缓存,但到目前为止,我所遇到的任何东西都不能满足我的需要。我想要一个缓存/备忘录装饰器,它根据参数缓存结果,即不同的参数有不同的缓存,每个缓存在TTL分钟后过期。缓存中的元素数量也应该有一个最大大小 我发现了这个(我们使用的是Python2.7),除了expiration/TTL之外,它做了我想要的一切。 我试图对其进行一些修改以支持TTL,但在代码的LRU部分中,我遇到了错误,因为它正在更改缓存中的链接。我不认为上面的代码需要很多更改才能添加TTL支持

我试图为我的python服务器构建一个缓存,但到目前为止,我所遇到的任何东西都不能满足我的需要。我想要一个缓存/备忘录装饰器,它根据参数缓存结果,即不同的参数有不同的缓存,每个缓存在TTL分钟后过期。缓存中的元素数量也应该有一个最大大小

我发现了这个(我们使用的是Python2.7),除了expiration/TTL之外,它做了我想要的一切。

我试图对其进行一些修改以支持TTL,但在代码的LRU部分中,我遇到了错误,因为它正在更改缓存中的链接。我不认为上面的代码需要很多更改才能添加TTL支持,我只是对LRU缓存的内容感到困惑,并且在实现它时遇到了问题

你可以找到我的密码

以前有没有人实现过这个,或者可以帮我在上面的后端口代码中添加对TTL的支持

谢谢


编辑:我可能已经修好了。。。我做了一些小改动,只是将缓存结果与LRU指针内容分离,它似乎正在工作

请在问题本身中包含您遇到的确切问题。这包括代码、错误信息、完整回溯等。您找到了什么吗?你是怎么解决的?