Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/Bhupesh-V/zoe

A barebones transactional in-memory key: value store with a REPL [For educational purposes]
https://github.com/Bhupesh-V/zoe

key-value-store system-design system-design-interview system-design-project transactional-stack

Last synced: about 2 months ago
JSON representation

A barebones transactional in-memory key: value store with a REPL [For educational purposes]

Awesome Lists containing this project

README

        

# zoe

> A simple transactional key:value store for educational purposes (with support for Transactions)

### [🖱️ Learn how I made `zoe` from scratch](https://www.freecodecamp.org/news/design-a-key-value-store-in-go/)

The shell accepts the following commands:

| Command | Description |
|:----------:|:----------------------------------------------------------------------------------------------------------------------------------:|
| `SET` | Sets the given key to the specified value. A key can also be updated. |
| `GET` | Prints out the current value of the specified key. |
| `DELETE` | Deletes the given key. If the key has not been set, ignore. |
| `COUNT` | Returns the number of keys that have been set to the specified value. If no keys have been set to that value, prints 0. |
| `BEGIN` | Starts a transaction. These transactions allow you to modify the state of the system and commit or rollback your changes. |
| `END` | Ends a transaction, everything done within the "active" transaction is lost. |
| `ROLLBACK` | Throws away changes made within the context of the active transaction. If no transaction is active, prints "No Active Transaction" |
| `COMMIT` | Commits the changes made within the context of the active transaction and ends the active transaction. |

## Demo

![zoe-demo-3](https://user-images.githubusercontent.com/34342551/92362469-aa2a7700-f10d-11ea-8426-1e8462b66d18.gif)

## Usage

If you just wanna play, ⬇ Download the build from [releases](https://github.com/Bhupesh-V/zoe/releases)

## License

Copyright © 2020 [Bhupesh Varshney](https://github.com/Bhupesh-V).

This project is [MIT](https://github.com/Bhupesh-V/zoe/blob/master/LICENSE) licensed.