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
- Host: GitHub
- URL: https://github.com/tk04/kv_store
- Owner: tk04
- Created: 2023-01-28T02:59:15.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-04-12T06:23:08.000Z (about 3 years ago)
- Last Synced: 2025-01-06T15:18:34.412Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.