crystal-lmdb

Crystal wrapper around the Lightning Memory-Mapped Database (LMDB).

LMDB is a fast embedded transactional database with the following properties:

This wrapper tries to add as little overhead as possible, by avoiding copy and allocations whenever possible.

Installation

Requirements

Shard

  1. Add the dependency to your shard.yml:
dependencies:
  lmdb:
    github: rumenzu/crystal-lmdb
    version: 0.1.0
  1. Run shards install

Usage

require "lmdb"

LMDB.open("./tmp/simpledb") do |env|
  env.transaction do
    env.open_db do |db|
      db.put('a', 'a'.ord)
      db.put('b', 'b'.ord)
      db.put('c', 'c'.ord)
    end
  end
end

See also the examples folder.

Contributing

  1. Fork it (https://github.com/your-github-user/crystal-lmdb/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors