tkrzw
Fast Persistent KeyValue Storage. Wrapper for Tkrzw
Installation
Add this to your application's shard.yml
:
dependencies:
tkrzw:
github: kostya/tkrzw
Usage
require "tkrzw"
db = Tkrzw::DB.new("1.tkh")
db.set("bla", "jo")
p db.get("bla")
p db.get("bla2")
db.each do |k, v|
p k, v
end
db.close
Compare with LevelDB and KyotoCabinet
| test | Tkrzw | LevelDB | KyotoCabinet | | ------------------------ | ------ | ------- | ------------ | | 2 mln set | 1.22s | 3.95s | 1.66s | | 2 mln get | 0.96s | 2.43s | 1.22s | | iterate over all records | 1.19s | 0.34s | 0.73s | | db size | 65Mb | 21Mb | 83Mb | | memory used | 72.2Mb | 97.1Mb | 70.4Mb |