如何用内存高效的数据结构替换大型 python 字典?
Posted
技术标签:
【中文标题】如何用内存高效的数据结构替换大型 python 字典?【英文标题】:How to replace large python dictionary with a memory efficient data structure? 【发布时间】:2021-08-29 03:21:52 【问题描述】:我使用 python 字典存储键值对,但字典变得太大 (>100GB) 并达到内存限制。
在python中存储键值对的内存效率更高的数据结构是什么? 例如。我们可以使用生成器来替换列表
【问题讨论】:
【参考方案1】:您可以使用 sqlitedict,它为 SQLite 数据库提供键值接口。关于内存使用。 SQLite 不需要你的数据集来适应 RAM。默认情况下,它最多缓存 2MB 的 cache_size 个页面。
【讨论】:
【参考方案2】:也许这会有所帮助:https://github.com/dagnelies/pysos
它只将索引保存在内存中,将数据保存在磁盘上。
【讨论】:
以上是关于如何用内存高效的数据结构替换大型 python 字典?的主要内容,如果未能解决你的问题,请参考以下文章