你知道什么是速度差异:
- 泡菜
- 搁置
- sqlite
- 一些 MySQL 连接器
- MongoDB
- ...
如果我想存储许多字典,那将是首选方式,有什么区别?
你知道什么是速度差异:
如果我想存储许多字典,那将是首选方式,有什么区别?
不想拖拉评论,所以我来回答。
鉴于你所说:
没有服务器,没有现有代码。我只想编写一个程序,将字符串本地存储到文件中的字符串字典或其他任何内容中。没有比这更花哨的了。
我想说,对于如此简单的事情,你最好的选择可能是JSON之类的东西。
但是,如果您需要超快,它可能不是最好的解决方案(或者它可能是 - 老实说,我不知道它的性能如何)。它很简单,而且大多数平台都有它的实现,涵盖了你想要的很多领域。如果您想要尽可能快的速度,我的建议是测试它,这是您确定的唯一方法。当然,简单通常是速度的好兆头。
您没有提供足够的信息来了解性能在这里的重要性。请记住,除非您需要性能(可证明),否则在您这样做之前不要费心优化。寻找易于阅读和维护的代码端,以及易于使用文件端的东西。这就是我推荐 JSON 的原因。
对于字符串字典的持久字符串,anydbm 是非常合理的。bsddb 可以在 anydbm 中使用,速度很快,但对被中断有点敏感。gdbm 可以从 anydbm 使用,速度较慢,但不太可能产生损坏的数据库。
此外,如果您想将整个 dict 读入内存,进行大量更改,然后将生成的 dict 写回,这里有:http ://stromberg.dnsalias.org/svn/dohdbm/trunk/ 我正在使用这个备份软件项目中的一个。如果您愿意,它会压缩您的字典,如果您的 I/O 特别慢,或者您需要进行大量修改,这可能会提高性能。