Skip to main content
 首页 » 编程设计

python之没有 ReferenceProperty 的内存缓存实体

2025年05月04日11xing901022

我有一个要存储在内存缓存中的实体列表。这 问题是我有他们引用的大型模型 ReferenceProperty 也自动存储在内存缓存中。 结果,我超出了存储在中的对象的大小限制 缓存。

是否有可能阻止 ReferenceProperties 在将引用模型放入内存缓存时加载它们?

我试过类似的东西

def __getstate__(self):  
    odict = self.__dict__.copy()  
    odict['model'] = None  
    return odict  

在我想存储在内存缓存中的类中,但这似乎不起作用 诀窍。

如有任何建议,我们将不胜感激。

编辑:我通过添加日志语句验证了 __getstate__-方法已执行。

请您参考如下方法:

对于大型实体,您可能希望通过将大型实体的键存储为 ReferenceProperty 以外的其他内容来手动处理相关实体的加载。这样您就可以选择何时加载大型实体,何时不加载。只需使用长属性存储 ID 或字符串属性来存储键名。