python - 替代非常大的字典(约 4000 万个键)

标签 python large-files shelve large-data

我有一个相当大的字典,其中包含大约 4000 万个键,我天真地通过将 {key: value, key: value, ...} 写入文本文件来存储这些键。我没有考虑到我永远无法实际访问这些数据这一事实,因为 python 厌恶将 1.44GB 的文本文件作为字典加载和评估。

我知道我可以使用 shelve 之类的东西来访问数据而无需一次读取所有数据,但我不确定如何将此文本文件转换为搁置文件而不重新生成所有数据(我不想这样做)。是否有更好的替代方案来存储、访问和稍后可能更改这么多数据?如果不是,我应该如何将这种怪异的格式转换为搁置可用的格式?

如果重要,字典的格式为 {(int, int, int int): [[int, int], Bool]}

最佳答案

Redis是可用于此类问题的内存中键值存储。

有几个Python clients .

hmset操作允许您插入多个键值。

关于python - 替代非常大的字典(约 4000 万个键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46312089/

相关文章:

python - 我无法让我的简单的 shelve python 脚本工作

git - Perforce 相当于 git local commit

python - 从元组列表中格式化 JSON 字符串的更多 Pythonic 方式

python - 使用 Mechanize Python 添加新 cookie

python - 使用 Python 脚本创建 MySQLdb 数据库

linux - 编辑非常大的 sql 转储/文本文件(在 linux 上)

python - 增加 Tornado 中 BaseIOStream 的 max_buffer_size 限制

Python Django - 通过 ListView 更新 booleanField

Clojure - 加速大文件处理

python - pickle 和搁置有什么区别?