首页 > 解决方案 > 使用 functools.lru_cache 时如何查看当前缓存大小?

问题描述

我正在对functools.lru_cache装饰器包装的某个方法进行性能/内存分析。我想看看如何检查我的缓存的当前大小,而不用做一些疯狂的检查魔术来访问底层缓存。

有谁知道如何查看装饰的方法的当前缓存大小functools.lru_cache

标签: python

解决方案


在文档中四处挖掘表明答案是调用.cache_info()该方法。

为了帮助测量缓存的有效性并调整 maxsize 参数,包装函数使用 cache_info() 函数进行检测,该函数返回一个命名元组,显示命中、未命中、最大大小和 currsize。在多线程环境中,命中和未命中是近似的。


推荐阅读