rust-cache-server 0.1.0

High-performance Redis-like cache server in Rust - open source alternative without Redis licensing concerns
Documentation
mod server;
mod store;
mod protocol;
mod command;
mod config;

use std::sync::Arc;

use config::Config;
use server::run_server;
use store::{spawn_cleanup, Store};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let cfg = Config::load()?;
    let addr = cfg.addr();

    let store = Arc::new(Store::new(cfg.max_memory_bytes()));
    spawn_cleanup(store.clone(), std::time::Duration::from_secs(60));

    println!(
        "rust-cache listening on {} (max_memory_mb={:?}, read_buffer_kb={})",
        addr,
        cfg.max_memory_mb,
        cfg.read_buffer_size() / 1024
    );

    run_server(addr, store, cfg.read_buffer_size(), Arc::new(cfg)).await
}