A lightweight Redis-style key-value store built in Rust using Tokio. Supports RESP protocol, async clients, persistence, and key expiration.
| Command | Description |
|---|---|
SET key value |
Set a key-value pair |
SET key value EX seconds |
Set key-value with expiration time |
GET key |
Retrieve value or return Null |
PING |
Returns PONG |
Fully implements RESP2 (REdis Serialization Protocol):
- Bulk strings
- Arrays
- Simple strings
- Null responses
- Error messages
- Tokio-based async runtime
- Handles many clients concurrently with non-blocking I/O
- High-performance concurrent request handling
Every successful SET operation triggers a JSON snapshot write:
- Durable: Data persisted to disk
- Crash-safe: Atomic writes with temporary file
.tmppattern - Human-readable: JSON format for easy inspection
Snapshot format includes:
value: The stored valueexpiration: Optional expiration time (remaining seconds)
(Add installation and usage instructions here)
(Add license information here)