LevelDB for JRuby
Installation
Add this line to your application's Gemfile:
gem 'leveldb-jruby', require: 'leveldb'
Usage
db = LevelDb.open('path/to/database')
# basic key operations
db.put('foo', 'bar')
puts db.get('foo') # => 'bar'
db.delete('foo')
# iterating over a range of keys
10.times { |i| db.put("foo#{i.to_s.rjust(2, '0')}", i.to_s) }
db.each(from: 'foo', to: 'foo08') do |key, value|
puts "#{key} => #{value}"
end
# batch mutations
db.batch do |batch|
batch.put('foo', 'bar')
batch.delete('bar')
end
# read from a snapshot
db.put('foo', 'bar')
snapshot = db.snapshot
db.put('foo', 'baz')
puts snapshot.get('foo') # => 'bar'
puts db.get('foo') # => 'baz'
# compactions
db.compact_range(from: 'foo', to: 'foo08')
db.full_compaction
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request