Expand description
§Viator
A high-performance, memory-safe key-value store.
Viator is a complete server implementation with:
- Full RESP3 protocol support
- All standard data types (String, List, Hash, Set, Sorted Set)
- Stack modules (JSON, TimeSeries, Bloom, etc.)
- Persistence (AOF and VDB)
- Pub/Sub messaging
- Transactions
- Lua scripting (optional)
§Security Features
- Memory-safe implementation eliminating buffer overflows
- Constant-time password comparison
- TLS support via rustls
- Resource limits to prevent DoS
§Example
use viator::{Server, Config, Result};
use std::sync::Arc;
#[tokio::main]
async fn main() -> Result<()> {
let config = Config::default();
let server = Arc::new(Server::new(config));
server.run().await
}Re-exports§
pub use error::Error;pub use error::Result;pub use protocol::Frame;pub use protocol::RespParser;pub use server::Config;pub use server::Server;pub use storage::Database;pub use types::Key;pub use types::ViatorValue;
Modules§
- commands
- Command parsing and execution layer. Redis command implementation.
- error
- Error types and result aliases. Error types for redis-rs.
- persistence
- VDB and AOF persistence. Persistence layer for Viator data.
- pool
- Buffer pooling for memory reuse. Memory pooling for buffer reuse.
- protocol
- RESP2/RESP3 protocol implementation. Redis Serialization Protocol (RESP) implementation.
- security
- Access control, TLS, and audit logging. Security module for Viator.
- server
- TCP server and connection management. Viator server implementation.
- storage
- In-memory key-value storage engine. Storage engine for Redis data.
- types
- Redis data type implementations. Core Viator types.
Constants§
- DEFAULT_
PORT - Default server port.
- MAX_
ARGUMENTS - Maximum number of arguments in a command.
- MAX_
BULK_ SIZE - Maximum bulk string size (512 MiB).
- MAX_
CLIENTS - Maximum number of concurrent clients.
- MAX_
INLINE_ SIZE - Maximum inline request size (64 KiB).
- REDIS_
VERSION - Redis protocol version for compatibility.
- VERSION
- Crate version (from Cargo.toml).