Skip to content

sebastienros/Lightning.NET

 
 

Repository files navigation

Lightning.NET

Join the chat at https://gitter.im/CoreyKaylor/Lightning.NET Mono Build Status Windows Build Status

.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.

Official LMDB API docs

Library is available from NuGet: https://www.nuget.org/packages/LightningDB/

The library is published under MIT license.

About

.NET library for OpenLDAP's Lightning DB key-value store

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 97.9%
  • Batchfile 1.2%
  • Other 0.9%