An open API service indexing awesome lists of open source software.

https://github.com/nikhilcodes/amnesiadb

Multithreaded key value pair store using thread safe locking mechanism allowing concurrent reads
https://github.com/nikhilcodes/amnesiadb

cache-storage key-value key-value-store keydb redis-alternate server-cache

Last synced: about 1 year ago
JSON representation

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

Awesome Lists containing this project

README

          


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](https://github.com/NikhilCodes/amnesia-js).
Shell Client & Web Client Coming soon

## Documentation
### 1. Simple Key Value pair
```bash
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
```bash
IN: SET key42 AS something WHERE TTL=30s
OUT: OK

IN: GET key42
OUT: something

# After 30 seconds

IN: GET key42
OUT:
```

### 3. ...With Limited Number of Read Op
```bash
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:
```

## TODO
- [x] Implement Thread Safe CHM
- [x] NodeJs Client
- [ ] Shell-based client
- [ ] Web Playground
- [ ] Multi Tenant