Recriei o REDIS em Rust em 1 dia
Opa! Tudo certo?
Recentemente, dediquei um dia para criar um clone do Redis em Rust e estou muito empolgado em compartilhar um pouco sobre essa experiência com vocês.
Sobre o projeto
O nome do projeto, "KAVA", foi escolhido para remeter ao conceito fundamental do Redis, que é o de armazenamento de dados no formato Key-Value.
Se você estiver interessado em conferir o código-fonte ou contribuir com o projeto, pode acessar o repositório no GitHub clicando aqui.
Desafios
Durante o desenvolvimento, encontrei alguns desafios interessantes, o principal deles foi a implementação do RESP.
Mas o que é o RESP?
Redis Serialization Protocol, ou simplesmente RESP, é um protocolo de serialização de dados usado pelo Redis para a comunicação client-server. Ele define uma maneira simples (nem tanto) de codificar e decodificar estruturas de dados, como Strings, Arrays e etc.
Implementar o RESP em Rust foi desafiador, pois exigia entender a especificação do protocolo e traduzi-la para o código. Felizmente, com alguma pesquisa e experimentação, consegui desenvolver uma implementação funcional do RESP para o meu clone do Redis.
Resultado
No final do dia, consegui concluir o clone do Redis em Rust, com suporte básico para operações como SET e GET. Embora ainda haja muito a ser feito para torná-lo tão robusto e eficiente quanto o Redis original, estou satisfeito com o progresso feito em apenas um dia.
Esta experiência me ensinou muito sobre o funcionamento do Redis por baixo dos panos e os desafios de implementar um sistema de armazenamento de dados em memória. Estou ansioso para continuar trabalhando neste projeto.