Skip to content
/ GoKV Public

📊 An efficient Key-Value storage solution developed in Go leveraging bitcask model.

Notifications You must be signed in to change notification settings

cathzzr2/GoKV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoKV 📊

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.

Screenshot 2024-09-07 at 22 34 12

Features

  • 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.

File Structure

/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.

Installation:

git clone https://github.com/cathzzr2/GoKV.git
cd GoKV
go get
go run ./cmd/server

About

📊 An efficient Key-Value storage solution developed in Go leveraging bitcask model.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages