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 04f72eb3f6 update readme to reflect new crates.io package 10 years ago
src remove the cargo auto-compiliation. maybe this will be added later as an optional feature. 10 years ago
.gitignore some more scratchings, rudimentary structuring, added more 'features' (bugs) 10 years ago
.gitmodules remove the cargo auto-compiliation. maybe this will be added later as an optional feature. 10 years ago
Cargo.toml remove the cargo auto-compiliation. maybe this will be added later as an optional feature. 10 years ago
README.md update readme to reflect new crates.io package 10 years ago

README.md

rust-rocksdb

running

Install RocksDB. rust-rocksdb has been tested with version 3.8.1 on linux and windows.

Cargo.toml
[dependencies]
rocksdb = "~0.0.1"
Code
extern crate rocksdb;
use rocksdb::RocksDB;

fn main() {
  match RocksDB::open_default("/path/for/rocksdb/storage") {
    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"),
        }
      })
        .on_absent( || { println!("value not found") })
        .on_error( |e| { println!("error retrieving value: {}", e) });

      db.delete(b"my key");

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

status

  • basic open/put/get/delete/close
  • linux support
  • rocksdb compiled via cargo
  • OSX support
  • rustic merge operator
  • batch
  • iterator
  • range
  • create/release snapshot
  • column family operations
  • compaction filter, style
  • LRU cache
  • destroy/repair
  • comparator
  • slicetransform
  • windows support

Feedback and pull requests welcome!