Executando verificação de segurança...
17

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.

Carregando publicação patrocinada...
1

Muito bacana João, parabéns pelo projeto.
Eu, como qualquer amante de Rust amo criar projetos e desenvolver soluções criadas em outra linguagem adaptada ao Rust.

Qual o seu background com programação? Você utiliza Rust no trabalho? Eu particularmente conheci Rust na faculdade e já fazem 2 anos que ela é minha linguagem principal. Estou terminando a faculdade e espero conseguir uma vaga que tenha Rust inserido na stack da empresa

1

No geral, eu uso Rust mais pros meus projetos pessoais mesmo. Infelizmente, é meio difícil achar vagas de Rust, principalmente no Brasil.

Concordo que seria a vaga perfeita para mim também, desde que conheci Rust me apaixonei pela linguagem.