Memurai - Primeiros passos com o Memurai
Hoje temos mais uma contribuição de Cláudio Ralha que neste artigo apresenta os passos básicos para usar o Memurai.

Primeiros passos com o Memurai (por Cláudio Ralha)

Memurai é o nome do segundo porte do servidor Redis para o sistema operacional Windows. Ele é a resposta para os desenvolvedores que estavam em busca de um Redis para Windows atualizado para atuar como servidor de cache ou message broker para suas aplicações.

Nesta série de artigos, apresentaremos os passos básicos para utilizar o Memurai e como acessá-lo ou ao Redis via C# a partir do Windows (os testes locais foram efetuados em uma máquina rodando Windows 10). O conhecimento adquirido nestes artigos será útil não só para manter um servidor instalado na empresa em que o leitor trabalha como também para utilizar a versão do Redis disponível na nuvem da Microsoft, conhecida como Cache Redis do Azure.

O que é o Redis ?

O Redis é uma estrutura de armazenamento de dados open-source em memória que pode ser usada como banco de dados, cache e message broker. Criado para o mundo UNIX/Linux, o Redis é capaz de armazenar estruturas de dados como strings, hashes, listas, conjuntos, conjuntos classificados com consultas de intervalo, bitmaps, hyperloglogs, índices geoespaciais com consultas e fluxos radius.

O Redis trabalha por default com o banco de dados em memória, mas também suporta a persistência de dados em disco, oferecendo recursos importantes como suporte a transações, particionamento e replicação.

O site oficial do Redis está disponível em:

https://redis.io/

   

Desenvolvedores acostumados a usar outros bancos de dados NoSQL como o MongoDB ou o CouchDB, irão notar que o Redis trabalha um pouco diferente, pois armazena os dados na memória RAM, que os serve mais rapidamente em comparação com outras soluções NoSQL. Para que você tenha uma ideia, estamos falando em algo em torno de 110.000 SETs por segundo e 81.000 GETs por segundo.

É possível acessar servidores Redis e Memurai a partir de clientes Redis existentes para um grande número de linguagens. Para mais detalhes, consulte:

https://redis.io/clients#clients

   

Saiba que apesar de não aparecerem listadas a relação anterior, linguagens como o Visual Basic ou o F#, é possível usar o cliente para C# com estas linguagens.

O que é o Memurai?

Em poucas palavras, podemos dizer que o Memurai é o “Redis para Windows”. Para conhecer o site oficial do projeto, acesse:

https://www.memurai.com/

   

O primeiro port do Redis para Windows foi feito pela Microsoft há 4 anos e está disponível no GitHub em:

https://github.com/MSOpenTech/redis/

Como este projeto não está mais ativo e não inclui os novos recursos adicionados nas versões mais recentes do Redis (a versão estável em dezembro de 2019 é a 5.0.7), vamos concentrar nosso estudo no Memurai que está em Tecnical Preview e terá futuramente uma versão paga e outra gratuita. É importante destacar que o time de desenvolvimento da empresa Janea Systems responsável pela sua criação é formado por desenvolvedores que atuaram no primeiro port da Microsoft e que o Memurai é a evolução natural desta experiência inicial.

Segundo seus criadores, ele é 100% nativo do Windows e 100% compatível com o Redis. Em termos práticos, o Memurai oferece as seguintes possibilidades para administradores que estão executando o Redis atualmente no Linux:

Migrar os dados para o Memurai e acessá-los em um servidor Windows.
• Replicar os dados entre o Memurai e o Redis ou usá-los no mesmo cluster.

Para aqueles que ainda estão com algum receio de usá-lo, vale lembrar que você poderá usá-lo nas máquinas dos desenvolvedores enquanto o projeto é desenvolvido e rodar o sistema em homologação e produção apontando para um servidor Linux rodando Redis on-promise ou na nuvem usando o Cache Redis do Azure ou serviço equivalente.

Instalando o Memurai


A instalação do Memurai é bem simples e rápida. Basta executar o arquivo .msi disponível no site (clique no botão Download for free) e avançar no melhor estilo Next, Next e Finish:

   

O instalador irá instalar o serviço Memurai no seu computador. Este serviço rodará na porta 6379, a mesma do Redis.

Dentre os arquivos instalados durante o setup, teremos o executável principal (memurai.exe), o cliente de linha de comando (memurai-cli.exe), dois utilitários (memurai-check-aof.exe e memurai-check-rdb.exe) e um arquivo de configuração (memurai.conf), compatível com a versão 5 da REDIS API. O caminho para a pasta de instalação do Memurai foi adicionado a variável de ambiente PATH, logo poderemos rodar estes executáveis a partir de qualquer pasta no prompt de comando.

Verificando se o serviço Memurai está em execução

Para verificar se o serviço foi corretamente instalado e está em execução, basta digitar services.msc no campo de pesquisa do menu Iniciar e executar o gerenciador de serviços do Windows. Veja:

Testando o Memurai

O acesso ao servidor Memurai será feito via linha de comando. Abra uma janela de prompt e digite memurai-cli, seguido de enter. Confira:



Note que o prompt indica que a aplicação cliente está conectada a um servidor Memurai local que está escutando a porta 6379. Para testar, digite PING seguido de Enter e confira que o servidor responderá com a mensagem PONG:



Neste primeiro artigo da série, abordaremos alguns comandos usados com chaves do Redis.
O primeiro será o comando SET mostrado a seguir:

SET "email_autor" "claudioralha@hotmail.com"




Este comando criará a chave email_autor com o valor claudioralha@hotmail.com.

Um detalhe interesse é que durante a digitação de cada comando, o Memurai nos mostra a sintaxe a ser adotada. Observe a parte mais clara do texto que corresponde ao que ainda não foi digitado:



Para recuperar o valor de uma chave, usamos GET seguido do nome da chave. Veja:



Para excluir uma chave, basta usar o comando DEL seguido do nome da chave:



Note na imagem anterior que após excluir a chave email_autor, se tentarmos consulta-la novamente receberemos como resultado nil indicando que a mesma não existe. Repita o teste com uma chave que não foi previamente criada como site_autor e veja que o resultado é o mesmo:



Vale destacar que é possível repetir comandos pré-utilizados usando a seta para cima do teclado para reduzir a digitação e que os comandos não são case sensitive.

Para sair do cliente do Memurai e retornar ao prompt do Windows, digite o comando QUIT.

Conclusão

Nesta primeira parte desta série sobre o Memurai, tivemos apenas um contato inicial com este servidor NoSQL compatível com o Redis 5.x rodando alguns dos comandos de chaves disponíveis (a lista de todos os comandos voltados para cada tipo de dado é extensa). Para saber mais sobre o produto, consulte a documentação oficial disponível em:

https://docs.memurai.com/

Para conhecer a lista completa de comandos do Redis, acesse: 

https://redis.io/commands

Nas próximas entregas, exploraremos muito mais do potencial do Memurai. Bom estudo e até a próxima!

Cláudio Ralha

Referências:


José Carlos Macoratti