Crate viator

Crate viator 

Source
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).