## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
_ ____ _____
| |/ /\ \ / / \
| ' < \ V /| |) |
|_|\_\ \_/ |___/
A dumb Redis-compatible key-value database using Docker containers as storage
KVD is a inefficient but fun key-value database that uses Docker containers as its storage engine. It uses the RESP protocol, making it compatible with Redis clients and commands.
Why "dumb"? Because using Docker containers as a key-value store is one of the worst possible ways to implement a database. It's slow, resource-intensive, but fun.
- SET: Creates a Docker container with the key as the container name and value stored as a label
- GET: Retrieves the value from the container label matching the key
- DEL: Removes the Docker container associated with the key
- Docker must be installed and running on your system
Download the latest binary for your platform from the releases page.
Supported platforms:
- Linux: amd64, arm64 (
.deb,.rpm,.apkpackages available) - macOS: amd64 (Intel), arm64 (Apple Silicon)
- Windows: amd64, arm64
git clone https://github.com/Bogorg/kvd.git
cd kvd
go build -o kvdkvd serve --port 6379Or use the default port (6379):
kvd serveOnce the server is running, you can connect with any Redis client:
redis-cli -p 6379127.0.0.1:6379> SET mykey "Hello, World!"
OK
127.0.0.1:6379> GET mykey
"Hello, World!"
127.0.0.1:6379> DEL mykey
(integer) 1
127.0.0.1:6379> GET mykey
(nil)
This project is licensed under the MIT License - see the LICENSE file for details.