rocksdb

A D binding to rocksdb


Keywords
library, binding, database, rocksdb
License
MIT
Install
dub fetch rocksdb --version 0.0.7

Documentation

RocksDB D-Lang

A straightforward binding to RocksDB v5.0.1 in D-lang.

Building

You need a valid rocksdb library somewhere your linker can find it.

Example

import rocksdb;
import std.conv : to;

auto opts = new DBOptions;
opts.createIfMissing = true;
opts.errorIfExists = false;

auto db = new Database(opts, "testdb");

// Put a value into the database
db.put("key", "value");

// Get a value out
assert(db.get("key") == "value");

// Delete a value
db.remove("key");

// Add values in bulk
auto batch = new WriteBatch;
for (int i = 0; i < 1000; i++) {
  batch.put(i.to!string, i.to!string);
}
db.write(batch);

// Iterate over the DB
auto iter = db.iter();
foreach (key, value; iter) {
  db.remove(key);
}
destroy(iter);

// Close the database
db.close();