Skip to content

Multithreaded key value pair store using thread safe locking mechanism allowing concurrent reads

License

Notifications You must be signed in to change notification settings

NikhilCodes/AmnesiaDB

Repository files navigation

logo

Project Amnesia

A Multi-threaded key-value pair store using thread safe locking mechanism allowing concurrent reads.

Curious to Try it out??

Check out NodeJS client here. Shell Client & Web Client Coming soon

Documentation

1. Simple Key Value pair

IN:  SET key42 AS something
OUT: OK

IN:  GET key42
OUT: something

IN:  SET key42 AS "multi word"
OUT: OK

IN:  GET key42
OUT: multi word

2. Simple Key Value pair But with Expiry

IN:  SET key42 AS something WHERE TTL=30s
OUT: OK

IN:  GET key42
OUT: something

# After 30 seconds

IN:  GET key42
OUT: <NIL>

3. ...With Limited Number of Read Op

IN:  SET key42 AS something WHERE NFETCH=2
OUT: OK

IN:  GET key42  # First Read Op
OUT: something

IN:  GET key42  # Second Read Op Now Deleting
OUT: something

IN:  GET key42
OUT: <NIL>

TODO

  • Implement Thread Safe CHM
  • NodeJs Client
  • Shell-based client
  • Web Playground
  • Multi Tenant