![]() |
Hoje temos mais uma contribuição de Cláudio Ralha que neste artigo apresenta os passos básicos para usar o Memurai. |
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:
Para conhecer a lista completa de comandos do Redis, acesse:
Nas próximas entregas, exploraremos muito
mais do potencial do Memurai. Bom estudo e até a próxima!
Cláudio Ralha
Referências: