Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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]
- Host: GitHub
- URL: https://github.com/Bhupesh-V/zoe
- Owner: Bhupesh-V
- License: mit
- Created: 2020-09-01T08:38:09.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-06-15T15:21:19.000Z (over 3 years ago)
- Last Synced: 2024-04-14T02:23:07.765Z (5 months ago)
- Topics: key-value-store, system-design, system-design-interview, system-design-project, transactional-stack
- Language: Go
- Homepage: https://www.freecodecamp.org/news/design-a-key-value-store-in-go/
- Size: 16.6 KB
- Stars: 21
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
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.