Introdução
Redis é um banco de dados de estrutura de dados em memória, usado como banco de dados, cache e broker de mensagens. Node.js é uma plataforma JavaScript popular que permite a execução de JavaScript no lado do servidor. Docker facilita a criação, a implantação e a execução de aplicativos usando contêineres. Neste post, vamos explorar como integrar Redis com Node.js utilizando Docker.
Pré-requisitos
- Docker instalado em sua máquina.
- Node.js e npm instalados.
- Conhecimento básico de JavaScript e Docker.
Passo 1: Configurar o Projeto Node.js
-
Crie uma pasta para o seu projeto:
mkdir node-redis-docker cd node-redis-docker
-
Inicialize um novo projeto Node.js:
npm init -y
-
Instale as dependências necessárias:
npm install express redis
-
Crie um arquivo
index.js
com o seguinte conteúdo:
const express = require('express'); const redis = require('redis'); const app = express(); const client = redis.createClient({ host: 'redis-server', port: 6379 }); client.on('error', (err) => { console.error('Redis error:', err); }); app.get('/', (req, res) => { client.get('visits', (err, visits) => { if (err) { res.status(500).send('Redis error'); return; } visits = visits ? parseInt(visits) : 0; res.send(`Número de visitas: ${visits}`); client.set('visits', visits + 1); }); }); app.listen(3000, () => { console.log('Listening on port 3000'); });
Passo 2: Configurar o Docker
-
Crie um arquivo
Dockerfile
na raiz do projeto com o seguinte conteúdo:
# Use a imagem base do Node.js FROM node:14 # Crie o diretório de trabalho WORKDIR /app # Copie o package.json e instale as dependências COPY package*.json ./ RUN npm install # Copie o restante do código do aplicativo COPY . . # Exponha a porta em que a aplicação irá rodar EXPOSE 3000 # Comando para iniciar a aplicação CMD ["node", "index.js"]
-
Crie um arquivo
docker-compose.yml
com o seguinte conteúdo:
version: '3' services: web: build: . ports: - "3000:3000" depends_on: - redis-server redis-server: image: "redis:alpine"
Passo 3: Construir e Executar os Contêineres
-
Construa e inicie os contêineres usando Docker Compose:
docker-compose up --build
-
Após os contêineres serem iniciados, você verá algo semelhante a isto:
web_1 | Listening on port 3000 redis-server_1 | 1:C 29 Jul 2024 10:27:23.123 # Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf'
Abra seu navegador e navegue até
http://localhost:3000
. Você verá a mensagem indicando o número de visitas.
Conclusão
Neste blog post, configuramos um ambiente Node.js com Redis usando Docker. Com essas etapas, você pode facilmente containerizar sua aplicação e garantir que todas as dependências estejam isoladas e consistentes, facilitando o desenvolvimento e a implantação.
Próximos Passos
- Explorar mais comandos Redis: Descubra mais sobre os comandos que Redis oferece e como utilizá-los.
- Escalar seu aplicativo: Aprenda a escalar seu aplicativo Node.js com Redis utilizando técnicas como sharding e clustering.
- Segurança: Investigue como adicionar autenticação e autorização no Redis para um ambiente de produção seguro.
Sinta-se à vontade para deixar suas perguntas ou compartilhar suas experiências nos comentários abaixo!