我需要快速可靠的Ruby键值存储。是否已经有类似的东西了?
要求它在Ruby进程内完全运行,不需要任何外部进程。 它可能是内存中的,具有显式的磁盘刷新。 它需要具有最小的值对键检索时间,写入时间可能不太好。 存储的数据量不会很大,大约有几十万个键,每个键带有~1kb文本值。
要求它在Ruby进程内完全运行,不需要任何外部进程。 它可能是内存中的,具有显式的磁盘刷新。 它需要具有最小的值对键检索时间,写入时间可能不太好。 存储的数据量不会很大,大约有几十万个键,每个键带有~1kb文本值。
结果证明,对我来说最好的选择是使用普通的Hash和Marshal将其序列化到磁盘上。
YAML明显对于这么多对象来说太慢了。
感谢@ian-armit加强了我对核心Ruby库的信任。
喜欢DBM吗?http://www.ruby-doc.org/stdlib-1.9.3/libdoc/dbm/rdoc/DBM.html
(用于防垃圾邮件的占位符)
DBM类提供了对Unix-style dbm或Database Manager库的包装。
Dbm数据库没有表格或列;它们是简单的键值数据存储,类似于Ruby哈希,但不驻留在RAM中。键和值必须是字符串。