将大内存结构写入内存资源有限的磁盘 (Python)

Writing large memory structures to disk with limited Memory resources (Python)

我有一个很大的信息存储库(在 class 中有一个很大的字典)需要加载到内存中,一旦数据被编译成这个超大的,就需要在收到信息时更新结构(最多 20GB)然后我需要将这个更新的内存库保存到磁盘以供以后加载。但是,对于 pickle,我无法找到一种方法可以通过在序列化数据时流式传输数据来对文件进行 pickle(我不能超过 25.5 GB)。如果您注意到既有 20GB 的结构又需要序列化的泡菜,它远远超出了我的内存资源。

有没有办法让 pickle 在序列化时流式传输信息,或者我是否必须自己编写函数来将内存写入文件?

有没有办法降低内存成本(在进程完成时将内存从磁盘卸载到磁盘)?

如果有人必须知道,我通过将我的大内存结构转换为三个较小的内存结构(顺序相关)来解决这个问题,然后我可以 pickle。当我加载内存结构时,我还必须将内存重新连接成一个更大的结构。内存节省并不多,但这是我现在能够做的解决方法。此解决方案当然依赖于结构。