LevelDB is a very fast, persistent, in-process key-value store. Read more about it here: code.google.com/p/leveldb/.

This gem contains Ruby bindings so that you can use it from your Ruby process.

INSTALLATION

gem install leveldb-ruby

SYNOPSIS

require 'rubygems' # on for ruby 1.8
require 'leveldb'

## make a new database
db = LevelDB::DB.new "/tmp/asdf"

## getting and setting
db.put "it", "works"               # => "works"
db.get "it"                        # => "works"

db["hello"] = "there"              # => "there"
db["hello"]                        # => "there"

db["nonexistent"]                  # => nil

## testing
db.includes? "hello"               # => true
db.contains? "hello"               # => true

## keys and values
db.keys                            # => "it", "hello"
db.values                          # => "there", "works"

## iterating
db.each { |k, v| ... }
db.map { |k, v| ... }
db.each                            # => LevelDB::Iterator

## ranges
db.each(:from => "a", :to => "b")  # => LevelDB::Iterator
db.each(:from => "a", :to => "b").
  map { |k, v| ... }
# etc...

## deleting
db.delete "hello"       # => "there"
db.delete "hello"       # => nil

LICENSE

Leveldb-ruby is available for your use under the terms of
the New BSD License. See the LICENSE file for details.

CREDIT

This gem brought to you by William Morgan <http://masanjin.net/>
and the following honorable contributors:
- Rick Olson
- byplayer
- Yukio Goto
- Johannes Holzfu

BUGS

Please report bugs to https://github.com/wmorgan/leveldb-ruby/issues.