Solução NoSQL open source bastante popular para a implementação de cache distribuído em aplicações Web, o Redis permite o armazenamento em memória de dados organizados em chaves e valores.
Neste novo artigo demonstro como montar rapidamente uma instância do Redis a partir de containers Docker, fazendo uso para isto do Docker Compose e de um arquivo YAML com as configurações necessárias. Além disso, o exemplo aqui abordado mostrará como definir um password para o acesso ao Redis (uma prática muitas vezes ignorada quando da utilização do mesmo em conjunto com Docker).
A seguir temos o conteúdo do arquivo docker-compose.yml:
- Foi utilizada a imagem oficial (redis). O download da mesma acontecerá automaticamente ao se executar o Docker Compose caso esta imagem não seja encontrada;
- Em command a instrução redis-server –requirepass Redis2019! definirá um password de acesso ao Redis (no caso Redis2019!).
Nesta imagem, temos o resultado da execução do comando docker-compose up -d (com a instrução docker-compose ps exibindo na sequência o container ativo na porta 6379):
O item ConexaoRedis da listagem a seguir traz um exemplo de string de conexão ao Redis (incluindo password) para uma aplicação ASP.NET Core:
{
“ConnectionStrings”: {
“ConexaoRedis”: “localhost,port: 6379,password=Redis2019!”,
“BaseCotacoes”: “Data Source=localhost,31433;Initial Catalog=BaseCotacoes;User Id=sa;Password=SqlServer2017!;”
},
“Logging”: {
“LogLevel”: {
“Default”: “Warning”
}
},
“AllowedHosts”: “*”
}
Ferramentas como o utilitário FastoRedis podem ser empregadas no gerenciamento de uma instância do Redis. Nas próximas imagens podemos observar um exemplo de conexão ao container criado a partir desse aplicativo, bem como um item armazenado nesta mesma instância: