rocksdb ~master

A D binding to rocksdb


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

RocksDB D-Lang

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

Building

You need a valid rocksdb library in the root of this project so your linker can find it. It is recommended to use a recent version of rocksdb, tested with

  • facebook-rocksdb-v5.12.4 (https://github.com/facebook/rocksdb/archive/v5.12.4.tar.gz)

Note: Windows rocksdb will work and recommendation is to use vcpkg to build rocks first, and copy your rocksdb-shared.dll into the root of the parent project.

Testing

dub test

will launch a benchmark, and should be enough to convine one of the functionality and performance.

Example

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

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

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

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

ubyte[] key = ['\x00', '\x00'];
// Delete a value
db.remove(key);

// Add values in bulk
auto batch = new WriteBatch;
for (int i = 0; i < 1000; i++) {
batch.putString(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();
Authors:
Dependencies:
none
Versions:
0.0.7 2017-Feb-12
0.0.6 2017-Feb-07
0.0.5 2017-Feb-07
0.0.4 2017-Jan-13
0.0.3 2017-Jan-13
Show all 9 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 2 downloads this month

  • 988 downloads total

Score:
0.8
Short URL:
rocksdb.dub.pm