All Projects → FedericoCeratto → nim-lmdb

FedericoCeratto / nim-lmdb

Licence: other
Nim LMDB wrapper

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to nim-lmdb

Ardb
A redis protocol compatible nosql, it support multiple storage engines as backend like Google's LevelDB, Facebook's RocksDB, OpenLDAP's LMDB, PerconaFT, WiredTiger, ForestDB.
Stars: ✭ 1,707 (+5406.45%)
Mutual labels:  key-value, lmdb
Libmdbx
One of the fastest embeddable key-value ACID database without WAL. libmdbx surpasses the legendary LMDB in terms of reliability, features and performance.
Stars: ✭ 729 (+2251.61%)
Mutual labels:  key-value, lmdb
Lmdbjava
Lightning Memory Database (LMDB) for Java: a low latency, transactional, sorted, embedded, key-value store
Stars: ✭ 546 (+1661.29%)
Mutual labels:  key-value, lmdb
Heed
A fully typed LMDB/MDBX wrapper with minimum overhead
Stars: ✭ 142 (+358.06%)
Mutual labels:  wrapper, lmdb
BitLens
🔎 Have your bits and eat them too! A C++17 bit lens container for vector types.
Stars: ✭ 20 (-35.48%)
Mutual labels:  wrapper
theBookOfNoah
Everything ive learned developing web applications
Stars: ✭ 22 (-29.03%)
Mutual labels:  nim-lang
gut
🍱 yet another collection of go utilities & tools
Stars: ✭ 24 (-22.58%)
Mutual labels:  wrapper
python-gerrit-api
Python wrapper for the Gerrit REST API.
Stars: ✭ 6 (-80.65%)
Mutual labels:  wrapper
PoShLog
🔩 PoShLog is PowerShell cross-platform logging module. It allows you to log structured event data into console, file and much more places easily. It's built upon great C# logging library Serilog - https://serilog.net/
Stars: ✭ 108 (+248.39%)
Mutual labels:  wrapper
opencv-python-inference-engine
Wrapper package for OpenCV with Inference Engine python bindings.
Stars: ✭ 32 (+3.23%)
Mutual labels:  wrapper
gocache
High performance and lightweight in-memory cache library with LRU and FIFO support as well as memory-usage-based-eviction
Stars: ✭ 15 (-51.61%)
Mutual labels:  key-value
cantor
Data abstraction, storage, discovery, and serving system
Stars: ✭ 25 (-19.35%)
Mutual labels:  key-value
nimtesseract
A Tesseract OCR wrapper for Nim
Stars: ✭ 23 (-25.81%)
Mutual labels:  wrapper
flake-nimble
Nimble packages Nix flake [maintainer=@ehmry]
Stars: ✭ 26 (-16.13%)
Mutual labels:  nim-lang
fs2-ssh
A wrapper around Apache SSHD targeting cats-effect and fs2
Stars: ✭ 36 (+16.13%)
Mutual labels:  wrapper
klf-200-api
This module provides a wrapper to the REST API of a KLF-200 interface. Supporting the new API with firmware version 0.2.0.0.71 is in progress.
Stars: ✭ 29 (-6.45%)
Mutual labels:  wrapper
wrapper.py
Wrapper.py is a Minecraft server wrapper that adds additional features to a vanilla server, including backups, dashboard access, plugins, and more.
Stars: ✭ 34 (+9.68%)
Mutual labels:  wrapper
Curator
A lightweight key-value file manager written in Swift.
Stars: ✭ 14 (-54.84%)
Mutual labels:  key-value
grim
grim brings property graphs to the Nim language. Look around you: everything is a graph!
Stars: ✭ 44 (+41.94%)
Mutual labels:  nim-lang
quitsies
A persisted drop-in replacement for Memcached, respecting the rules of quitsies.
Stars: ✭ 16 (-48.39%)
Mutual labels:  key-value

Nim LMDB

badge tags License CircleCI

Nim wrapper for the Symas LMDB library

"…​with only 32KB of object code, LMDB may seem tiny. But it’s the right 32KB." - from the LMDB home page.

More documentation: upstream docs - wikipedia page - exploring LMDB

Features

  • Lightweight and ultra fast

  • nim doc documentation

  • Basic functional tests and benchmarks

  • Tested on Linux

Usage

# Development library:
nimble install lmdb

# Runtime dependency:
sudo apt-get install liblmdb0
import lmdb

# create dbenv, transaction and a dbi
let dbenv = newLMDBEnv("./testdb")
let txn = dbenv.newTxn()
let dbi = txn.dbiOpen(nil, 0)

txn.put(dbi, "foo", "value")
let g = txn.get(dbi, "foo")
txn.del(dbi, "foo", "value")

# commit or abort transaction
txn.commit() # or txn.abort()

# close dbi and env
dbenv.close(dbi)
dbenv.envClose()

Also see tests/functional.nim for more examples.

Contributing

Testing and PRs are welcome.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].