如何在不将其加载到内存的情况下更新已保存的映射?
How to update a saved mapping without loading it into memory?
我正在维护一些需要不断更新的映射。
这些映射现在作为 pickle
序列化 dict
实现。
更新过程是这样的:
- 将
pickle
文件加载到内存中,这样我就可以访问 dict
- 对
dict
进行任何更新并再次序列化。
此解决方案的问题是它可能会消耗大量内存用于大 dict
s。
我研究过其他解决方案,如 shelve
和 leveldb
,但它们都可以生成许多文件而不是一个文件,这在保存到键值存储等系统时更加复杂。
我正在维护一些需要不断更新的映射。
这些映射现在作为 pickle
序列化 dict
实现。
更新过程是这样的:
- 将
pickle
文件加载到内存中,这样我就可以访问dict
- 对
dict
进行任何更新并再次序列化。
此解决方案的问题是它可能会消耗大量内存用于大 dict
s。
我研究过其他解决方案,如 shelve
和 leveldb
,但它们都可以生成许多文件而不是一个文件,这在保存到键值存储等系统时更加复杂。