首页 > 解决方案 > LRUcachetools:访问缓存函数的缓存

问题描述

如果我使用 cachetools 的 @cachetools.cached 或 @cachetools.func.lru_cache,我怎样才能轻松访问缓存?我知道我可以做类似的事情:

mycache = cachetools.LRUCache(maxsize=10)
@cachetools.cached(mycache)
def func(*args):
   # do something
   return something

但是通过这种方式,我必须跟踪每个函数的所有缓存。我正在寻找某种方法来访问任何函数的缓存。我所说的访问并不是指.cache_info()诸如缓存对象之类的东西,这样我就可以访问它的所有属性,例如mycache._Cache_data。装饰的函数可以访问缓存,所以我应该可以,不是吗?但是,如果我尝试dir(cached_function)cahed_function.__dict__找不到缓存。

我确实查看了文档并在 google/stackoverflow 上进行了搜索,但无济于事。

感谢大家的帮助

标签: python-3.xcaching

解决方案


推荐阅读