#embedded #lsm-tree #persistence

exonum_rocksdb

Rust wrapper for Facebook's RocksDB embeddable database

7 releases

Uses old Rust 2015

0.7.6 Jun 20, 2019
0.7.5 May 21, 2019
0.7.4 Jun 15, 2018
0.7.2 Jan 8, 2018
0.6.1 Sep 13, 2017

#1516 in Database interfaces

Download history 68/week @ 2023-08-06 91/week @ 2023-08-13 38/week @ 2023-08-20 44/week @ 2023-08-27 83/week @ 2023-09-03 61/week @ 2023-09-10 60/week @ 2023-09-17 17/week @ 2023-09-24 40/week @ 2023-10-01 54/week @ 2023-10-08 74/week @ 2023-10-15 73/week @ 2023-10-22 87/week @ 2023-10-29 89/week @ 2023-11-05 69/week @ 2023-11-12 77/week @ 2023-11-19

329 downloads per month

Apache-2.0

165KB
3K SLoC

exonum_rocksdb

Build Status Build status crates.io

Documentation

Feedback and pull requests welcome! If a particular feature of RocksDB is important to you, please let me know by opening an issue, and I'll prioritize it.

[dependencies]
exonum_rocksdb = "0.7"

lib.rs:

Rust wrapper for RocksDB.

Examples

 extern crate tempdir;
 extern crate exonum_rocksdb;

 use exonum_rocksdb::DB;
 use tempdir::TempDir;
 // NB: db is automatically closed at end of lifetime
 # fn main() {
 let temp_dir = TempDir::new("storage").unwrap();
 let db = DB::open_default(temp_dir.path()).unwrap();
 let _ = db.put(b"my key", b"my value");
 match db.get(b"my key") {
    Ok(Some(value)) => println!("retrieved value {}", &value.to_utf8().unwrap()),
    Ok(None) => println!("value not found"),
    Err(e) => println!("operational problem encountered: {}", e),
 }
 db.delete(b"my key").unwrap();
 # }

Dependencies

~345–730KB
~10K SLoC