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.
 
 
 
 
 
 
Tyler Neely e1142f4f2f some cleanups and interface smoothing 10 years ago
rocksdb-sys some cleanups and interface smoothing 10 years ago
src some cleanups and interface smoothing 10 years ago
.gitignore some more scratchings, rudimentary structuring, added more 'features' (bugs) 10 years ago
.gitmodules add rocksdb submodule 10 years ago
Cargo.toml add cargo build for rocksdb 3.8.1, no more LD_PRELOAD 10 years ago
README.md some cleanups and interface smoothing 10 years ago

README.md

rust-rocksdb

running

  • Cargo.toml
[dependencies.rocksdb]
git = "https://github.com/spacejam/rust-rocksdb"
  • Code
extern crate rocksdb;

fn main() {
    match rocksdb::create_or_open("/path/for/rocksdb/storage".to_string()) {
        Ok(db) => {
            db.put(b"my key", b"my value");

            db.get(b"my key").map( |value| {
                match value.to_utf8() {
                    Some(v) =>
                        println!("retrieved utf8 value {}", v),
                    None =>
                        println!("did not read valid utf-8 out of the db"),
                }});

            db.get(b"NOT my key").on_absent(|| { println!("value not found") });

            db.close();
        },
        Err(e) => panic!(e),
    }
}

status

  • basic open/put/get/close

  • linux support

  • rocksdb compiled via cargo

  • OSX support

  • column family operations

  • LRU cache

  • destroy/repair

  • batch

  • iterator

  • create/release snapshot

  • range

  • rustic merge operator

  • compaction filter, style

  • comparator

  • slicetransform

  • logger

  • windows support

  • Feedback and pull requests welcome!