Redis (ioredis) para JavaScript (Node.js): Guia Completo
Redis (Remote Dictionary Server) é um armazenamento de dados do tipo chave-valor de alto desempenho, executado em memória RAM, amplamente utilizado como banco de dados, cache e broker de mensagens. Para trabalhar com Redis a partir do Node.js, existem diversos clientes, e o ioredis é um dos mais poderosos, performáticos e populares. Esta biblioteca oferece um conjunto completo de funções para interagir com o Redis, incluindo suporte a clusters, Pub/Sub, pipeline, transações e scripts Lua.
Por que usar esta biblioteca? No desenvolvimento web moderno com Node.js, é frequente a necessidade de acesso rápido aos dados. O Redis, operando em memória, proporciona velocidades de leitura/escrita inatingíveis para bancos de dados relacionais tradicionais. O ioredis permite que desenvolvedores integrem facilmente esse poder em suas aplicações: cachear resultados de consultas complexas, gerenciar sessões de usuários, implementar filas de tarefas, sistemas de classificação e muito mais. A biblioteca foi projetada considerando a natureza assíncrona do Node.js, com suporte total a Promises e async/await, tornando o código limpo e previsível.
A principal vantagem do ioredis sobre outros clientes (como o antigo node_redis) é o suporte nativo a clusters Redis e Sentinel, além da reconexão automática. A biblioteca é ativamente mantida pela comunidade, possui documentação detalhada e é usada em produção por milhares de empresas em todo o mundo. Ela é adequada tanto para scripts simples quanto para sistemas distribuídos de alta carga.
Instalação
A instalação da biblioteca ioredis é feita através do gerenciador de pacotes npm (Node Package Manager). Certifique-se de ter o Node.js (versão 12 ou superior) e o npm instalados.
npm install ioredis
Se você usa yarn, o comando será:
yarn add ioredis
Após a instalação, a biblioteca estará disponível para importação no seu projeto. Para funcionar, também é necessário ter um servidor Redis em execução. Se você não tiver um, pode instalá-lo localmente ou usar o Docker:
docker run -d --name redis-stack -p 6379:6379 redis/redis-stack-server:latest
Início Rápido
Crie um arquivo app.js e escreva o seguinte código mínimo, que se conecta ao Redis, salva um valor e o lê.
// Importa a biblioteca ioredis
const Redis = require('ioredis');
// Cria um novo cliente. Por padrão, conecta-se a localhost:6379
const redis = new Redis();
// Função assíncrona para demonstrar o funcionamento
async function inicioRapido() {
try {
// Define a chave 'nome' com o valor 'Usuário PythonLib'
await redis.set('nome', 'Usuário PythonLib');
console.log('Chave "nome" definida.');
// Obtém o valor da chave 'nome'
const resultado = await redis.get('nome');
console.log(`Valor da chave "nome": ${resultado}`);
// Verifica se a chave existe
const existe = await redis.exists('nome');
console.log(`Chave "nome" existe: ${existe === 1}`);
// Fecha a conexão
redis.quit();
} catch (error) {
console.error('Erro:', error);
redis.quit();
}
}
inicioRapido();
Execute o script: node app.js. Você verá no console mensagens sobre a definição e leitura bem-sucedidas da chave. Este é um exemplo básico que mostra como é simples começar a usar o ioredis.
Principais Métodos e Classes
O ioredis oferece dezenas de métodos que correspondem aos comandos do Redis. Abaixo estão 8 dos métodos mais usados, com descrição detalhada e exemplos.
1. set(key, value, ...args)
Assinatura: redis.set(key: string, value: string | number | Buff