A lightweight, low-latency Key-Value (KV) data store. This is a high-performance Rust implementation that is 1:1 compatible with the original Go version.
- Dual Mode Operations:
- Embedded: Use as a local library with direct file-based persistence.
- Remote: Connect to a
celerix-storedinstance over TCP.
- Liquid Data Architecture: Uses the
Persona -> App -> Keyhierarchy for structured data management. - Atomic Persistence: High-integrity "write-then-rename" strategy for JSON storage.
- Client-Side Encryption: Built-in AES-256-GCM vault support for sensitive data.
- Automatic Discovery: SDK automatically switches modes based on environment variables.
- Resilient Client: TCP client with automatic reconnection and exponential backoff retries.
Run the celerix-stored binary to start the TCP server:
# Defaults to port 7001 and ./data directory
cargo run --bin celerix-storedAdd this to your Cargo.toml:
[dependencies]
celerix-store = "0.1.0"
tokio = { version = "1.0", features = ["full"] }
serde_json = "1.0"Interact with the store via the command line:
cargo run --bin celerix -- set my-persona my-app my-key '"my-value"'
cargo run --bin celerix -- get my-persona my-app my-key- USAGE.md: Detailed usage patterns, library examples, and Docker/Podman deployment.