Skip to content

thatcatfromspace/keystore

Repository files navigation

KeyStore

KeyStore is a lightweight, high-performance in-memory key-value store, built for simplicity and speed. Designed for CLI use, embedded applications, and networked deployments over HTTP or TCP.


Features

  • Zero-config, single-binary deployment
  • Command-line, HTTP, and TCP server modes
  • Automatic memory eviction for stale entries
  • Health check endpoints for monitoring integration
  • Docker and cross-platform builds

Build Requirements

  • C++17
  • make
  • Dependencies:

Pre-built Linux binaries are available on the Releases page. Docker support is included.


Usage

CLI Mode

./keystore cli
keystore> SET foo bar
keystore> GET foo
bar
keystore> DEL foo

HTTP Server Mode

./keystore http
# Default: http://localhost:3000

Endpoints:

Method Endpoint Params
POST /set key, value (form data)
GET /get key (query param)
DELETE /delete key (query param)
GET /status

Note: Crow requires application/x-www-form-urlencoded for POST.

Example:

curl -X POST http://localhost:3000/set -d "key=username&value=alice"

TCP Server Mode

./keystore tcp

Send raw commands over TCP:

set foo bar\n
get foo\n
delete foo\n

Getting Started

git clone https://github.com/thatcatfromspace/keystore.git
cd keystore
make

Roadmap

  • Disk persistence (WIP)
  • OpenAPI/Swagger support
  • Client SDKs (Python, Go)
  • Pluggable eviction policies

License

MIT

About

Blazing fast in-memory, key-value database in C++

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages