A simple, humane, typed key-value storage solution.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nan Jiang e673fc4d88 add an example for iterators 6 years ago
examples add an example for iterators 6 years ago
src replace the deprecated tempdir crate with tempfile 6 years ago
tests replace the deprecated tempdir crate with tempfile 6 years ago
.gitignore Initial commit. 6 years ago
.travis.yml test on Travis against various Rust channels 6 years ago
Cargo.toml replace the deprecated tempdir crate with tempfile 6 years ago
LICENSE Initial commit. 6 years ago
README.md v0.2. Remove backtrace from default dependency set. 6 years ago

README.md

rkv

rkv is a usable Rust wrapper around LMDB.

It aims to achieve the following:

  • Avoid LMDB's sharp edges (e.g., obscure error codes for common situations).
  • Report errors via failure.
  • Correctly restrict to one handle per process via a 'manager'.
  • Use Rust's type system to make single-typed key stores (including LMDB's own integer-keyed stores) safe and ergonomic.
  • Encode and decode values via bincode/serde and type tags, achieving platform-independent storage and input/output flexibility.

Feature choices

If you specify the backtrace feature, backtraces will be enabled in failure errors. This feature is disabled by default.