正在设置cachetools LRUCache的最大大小



尝试设置cachetools缓存类-更具体地说是继承自它的LRUCache
我想根据字节设置maxsize,这意味着我需要用一些lambda函数设置getsizeof参数来计算对象的字节大小。

查看sys.getsizeof,我们可以看到它不合适,因为我即将在缓存中保存自定义类,该类引用了其他对象的句柄,这些对象将成为critic mass。

我如何计算python自定义对象的内存中的实际字节数及其包含的内容,这意味着还要计算引用的大小(不是指针大小,而是其内容(

感谢

最简单的方法是使用pympler包,它们已经实现了您想要的函数。

python -m pip install pympler
from pympler import asizeof
from cachetools import LRUCache
@LRUCache(MAX_BYTES, getsizeof=asizeof.asizeof)
def foo():
pass

最新更新