Introdução
O que é o Memorust, por que ele existe e o que ele faz.
O Memorust é um servidor de banco de dados key-value in-memory, leve e de binário único, escrito em Rust (edition 2024), tendo o Tokio como única dependência.
Ele fala o
protocolo RESP, então é
compatível com o redis-cli e com clientes Redis existentes, e suporta um
subconjunto dos comandos do Redis, com TTL e persistência via Append Only File
(AOF).
Por que ele existe?
O Memorust nasceu de uma exploração prática de como um banco de dados in-memory funciona por baixo dos panos: rede TCP assíncrona, design de protocolo, concorrência, motores de armazenamento, persistência e engenharia de performance.
O foco é manter o código simples e legível: um núcleo pequeno e bem compreendido, fácil de entender e de estender rumo a uma compatibilidade mais ampla com o Redis ao longo do tempo.
Visão geral das funcionalidades
- Servidor TCP construído sobre o Tokio
- Suporte ao protocolo RESP e compatibilidade com o
redis-cli - Armazenamento key-value in-memory
- Suporte a TTL com um limpador de expiração em segundo plano
- Append Only File (AOF) com escritor bufferizado
fsyncperiódico (≈1s, no estiloappendfsync everysec)- Replay do AOF na inicialização e rewrite do AOF (compactação)
- Comandos
INFOeFLUSHALL - Suporte a múltiplos clientes, com leituras concorrentes sob um lock compartilhado
Licença
O Memorust é licenciado de forma dupla, sob a licença MIT ou a Apache License 2.0, à sua escolha.