.NET library for OpenLDAP's LMDB key-value store.
The API is easy to use and extremely fast.
var env = new LightningEnvironment("pathtofolder");
env.MaxDatabases = 2;
env.Open();
using (var tx = env.BeginTransaction())
using (var db = tx.OpenDatabase("custom", new DatabaseConfiguration { Flags = DatabaseOpenFlags.Create }))
{
tx.Put(db, Encoding.UTF8.GetBytes("hello"), Encoding.UTF8.GetBytes("world"));
tx.Commit();
}
using (var tx = env.BeginTransaction(TransactionBeginFlags.ReadOnly))
{
var db = tx.OpenDatabase("custom");
var result = tx.Get(db, Encoding.UTF8.GetBytes("hello"));
Assert.Equal(result, Encoding.UTF8.GetBytes("world"));
}
More examples can be found in the unit tests.
Library is available from NuGet: https://www.nuget.org/packages/LightningDB/
The library is published under MIT license.