Skip to content
/ zoe Public

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

License

Notifications You must be signed in to change notification settings

Bhupesh-V/zoe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zoe

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

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

Usage

If you just wanna play, ⬇ Download the build from releases

License

Copyright © 2020 Bhupesh Varshney.
This project is MIT licensed.