gpt4 book ai didi

python - 什么是 Python 的良好磁盘 "set"实现?

转载 作者:太空狗 更新时间:2023-10-30 03:07:10 26 4
gpt4 key购买 nike

我正在使用 Python 开发一个程序,该程序需要存储包含许多固定大小哈希值(SHA256,但这并不重要)的持久“集合”数据结构。关键操作是插入查找。常规操作不需要删除。该集合会随着时间的推移而增长,最终可能无法全部放入内存。

我考虑过:

  • 使用pickle 存储在磁盘上的集合(将新文件写入磁盘的速度较慢 [几秒钟],最终无法放入内存)
  • 一个 SQLite 数据库(附加依赖项默认不可用)
  • 自定义基于磁盘的平衡树结构,例如 B 树或类似结构

理想情况下,应该有一个内置的 Python 模块来提供可以支持这些操作的东西。这里有什么好的选择?

在我写完这篇文章后,我找到了Fast disk-based hashtables?其中有一些好主意。我喜欢那里的 mmap/bucket 接受的答案。

(如果您好奇的话,这是为了重写 shaback。)

最佳答案

另一种选择是使用 shelve ,我知道它和泡菜一样(在引擎盖下)但我认为这是一个不错的选择(我在你的选项列表中没有看到 :-))或者如果你不介意使用第三方库你可以看看shove (它就像一个架子++)。

关于python - 什么是 Python 的良好磁盘 "set"实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6057198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com