Go-KV is a simple key-value store written in Go. It provides an HTTP API for managing key-value pairs with additional features like flushing, compaction, and memory usage tracking.
-
Set, get, delete, and list key-value pairs
-
Batch operations for setting and deleting multiple keys
-
Memory usage tracking and automatic flushing when memory limits are exceeded
-
Data persistence across instances
-
Data compaction to merge flushed data into the main database
-
Dockerfile for easy deployment
To install Go-KV, clone the repository and build the project:
git clone https://github.com/bendigiorgio/go-kv.git
cd go-kv
make build
Start the Go-KV server in development mode:
make dev
The server will start on http://localhost:8080
.
You can also access the Templ proxy for better hot reloading on http://localhost:8081
.
For detailed API documentation, please refer to the openapi.yaml
file in the repository.
This project is licensed under the MIT License.