Skip to content

Tiny, single file, scalable key value store based on HAMTs

License

Notifications You must be signed in to change notification settings

hyperdivision/tinybox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinybox

Tiny, single file, scalable key value store based on HAMTs

npm install tinybox

Uses the Hypertrie trie without the replication parts, and auto compacts.

Still under development but the storage format should be stable. Upcoming features include batching, deletions and getting all values out of the store.

Usage

const TinyBox = require('tinybox')

const db = new TinyBox('./db')

db.put('hello', 'world', function () {
  db.get('hello', console.log)
})

API

db = new TinyBox(storage)

Create a new tiny store. Storage can be any random-access-storage instance. For conveinience you can pass a filename as storage as well.

db.get(key, callback)

Looks up a value. Key can be a buffer or string. If the key does not exist null is passed, otherwise the a Node object looking like this:

{
  key: <key as a buffer>,
  value: <value stored>
}

db.put(key, [value], [callback])

Insert a key and optional value.

License

MIT

About

Tiny, single file, scalable key value store based on HAMTs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published