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

https://github.com/tk04/kv_store

Persistent & Memcached compatible Key-Value Store
https://github.com/tk04/kv_store

Last synced: over 1 year ago
JSON representation

Persistent & Memcached compatible Key-Value Store

Awesome Lists containing this project

README

          

# Persistent & Memcached compatible Key-Value Store

Backwards compatible key-value store that works with all Memcached clients.

List of supported commands:
- set \ \ \\r\n\\r\n
- get \\r\n
- append \ \ \\r\n\\r\n
- prepend \ \ \\r\n\\r\n
- add \ \ \\r\n\\r\n
- replace \ \ \\r\n\\r\n
- flush_all\r\n
- delete \\r\n

Here is a brief breakdown of what each file in my implementation serves as:
- `command_parser.rs` : contains all of the command parsing logic
- `data_store.rs`: contains all of the data storage/retrieval logic.
- `server.rs`: handles the execution of commands and concurrency between clients.
- `main.rs`: Initializes global variables, and starts the server.
- `data_store.txt`: write-ahead log file. Permanent storage of user values/ actions.
- `client.rs`: Contains client testing code that tests both set & get commands.