GoKV is a tiny key-value storage database in Go, leveraging the bitcask model. It is designed for simplicity, speed, and flexibility, with optimization strategies to enhance data retrieval and storage. GoKV supports Redis data structures and offers a user-friendly HTTP API for interaction.
- Basic Key-Value Storage: Supports standard operations like read, write, and delete.
- In-Memory Indexing: Accelerates read operations by minimizing disk access.
- File Management & Optimization: Includes efficient I/O handling and merge operations.
- Redis Compatibility: Supports Redis data structures and protocols.
- Backup & Testing: Ensures reliable data storage and retrieval with backup mechanisms and thorough testing.
- HTTP API: A simple, RESTful API for interacting with the key-value store.
/benchmark: Contains benchmarking scripts for performance evaluation.
/data: Stores database files.
/examples: Includes example implementations of GoKV.
/http: Defines HTTP routes and CRUD handlers.
/index: Manages key indexing for faster lookups.
/redis: Implements Redis protocol compatibility.
/utils: Utility functions to support core features.
git clone https://github.com/cathzzr2/GoKV.git
cd GoKV
go get
go run ./cmd/server