将cachetools LRUCache设置为最大大小

2024-06-26 18:07:50 发布

您现在位置:Python中文网/ 问答频道 /正文

正在尝试设置cachetools cache class -更具体地说,从它继承的LRUCache
我想基于字节设置maxsize,这意味着我需要使用一些lambda函数设置getsizeof参数,以计算对象的字节大小

查看sys.getsizeof,我们可以看到它不合适,因为我将要在缓存中保存自定义类,并将引用\句柄保存到其他对象中,这些对象将成为临界质量

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

谢谢


Tags: 对象lambda函数cache内容参数字节sys
1条回答
网友
1楼 · 发布于 2024-06-26 18:07:50

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

python -m pip install pympler
from pympler import asizeof
from cachetools import LRUCache

@LRUCache(MAX_BYTES, getsizeof=asizeof.asizeof)
def foo():
    pass

相关问题 更多 >