Familiarize-se com o Redis e aprenda como otimizar seus aplicativos Node com este poderoso armazenamento de dados.
Ao criar um aplicativo da Web, verifique se ele é escalável e eficiente. Para fazer isso, você precisará levar em consideração vários princípios e conceitos.
Redis é uma das muitas tecnologias que podem ajudar a melhorar o desempenho de seus aplicativos da web. Ele oferece recursos notáveis que você pode usar para melhorar o desempenho de qualquer aplicativo da web.
Então, o que exatamente é o Redis e como você pode começar a usá-lo com seus aplicativos da web Node.js?
O que é Redis e quando você deve usá-lo?
O Redis é um armazenamento de dados de chave-valor, de código aberto e na memória. É uma tecnologia flexível que pode atuar como fila de trabalho, banco de dados, cache, gerenciador de sessões, intermediário de mensagens e muito mais.
A combinação de velocidade, versatilidade e facilidade de uso do Redis o torna uma ferramenta muito valiosa no ecossistema de desenvolvedores de software.
Quando você deve usar o Redis?
O Redis é adequado para muitas tarefas, mas você deve ter o cuidado de usá-lo apenas quando fizer sentido.
Você deve considerar o uso do Redis nestes cenários:
- Cache: o Redis é a maneira mais popular de implementar um cache para ajudar a evitar a carga nos bancos de dados e melhorar o desempenho geral.
- Gerenciamento de sessão: Armazenar e gerenciar sessões de usuário para autenticação e gerenciamento de estado é muito fácil com o Redis.
- Armazenamento temporário de dados: o Redis permite armazenar dados e excluí-los automaticamente após um período de tempo específico. Isso o torna uma boa ferramenta para armazenar dados temporários, como Tokens da Web JSON, filas de trabalho, etc
Outros casos em que você deve considerar o uso do Redis incluem a implementação de um agente de mensagens, otimização operações de banco de dados e até mesmo armazenar e acessar com eficiência estruturas de dados como listas, conjuntos e haxixe.
Como usar o Redis com Node.js
Node.js é uma tecnologia popular para criar aplicativos do lado do servidor eficientes e escaláveis. Você pode usá-lo em conjunto com tecnologias de suporte como Redis para obter alto desempenho e escalabilidade.
O Redis suporta vários idiomas. Você pode usar isso para armazenamento de dados em PHP e existem excelentes clientes Redis para Golang. Os dois clientes Redis mais populares para Node.js são node-redis e ioredis.
Ambos os pacotes estão disponíveis via npm e são fáceis de usar. A principal diferença é que node-redis é o cliente oficial, enquanto a comunidade recomenda ioredis.
Conectando-se ao Redis a partir do Node.js
Para começar, você deve ter o Redis instalado em seu computador e um ambiente de desenvolvimento Node.js configurado. Confira o guia de instalação em Redis.io para instalar o Redis no Linux, macOS e Windows.
Você precisa instalar seu SDK de cliente Redis preferido em seu projeto para poder se conectar ao Redis. Dependendo da sua preferência (vamos usar node-redis), execute um dos comandos abaixo para instalar o cliente Redis:
npm instalar redis --salvar
npm install ioredis --save
O primeiro comando instala node-redis, enquanto o segundo instala ioredis.
Para configurar seu cliente recém-instalado, você deve garantir que o Redis esteja em execução. Você pode fazer isso simplesmente iniciando redis-cli no seu terminal:
O ping comando pings do servidor para confirmar que está em execução, e um PONG resposta na CLI significa que o servidor está funcionando bem. Agora crie um redis.js arquivo em seu projeto Node e escreva o seguinte código nele para configurar o Redis:
const redis = exigir("redis")
// inicializa usando a configuração padrão
const RedisClient = redis.createClient()const conectarRedis = assíncrono () => {
// conecta ao redis
aguardam RedisClient.connect()// trata o erro
RedisClient.on('erro', (erro) => {
console.erro(`Ocorreu um erro com o Redis: ${err}`)
})
console.registro('Redis conectado com sucesso...')
}
O código acima inicializa um novo cliente Redis no aplicativo. O criarcliente A função do pacote redis permite que você crie um cliente usando seus parâmetros especificados.
Você pode especificar seu host, porta, nome de usuário, senha ou string de conexão ou usar os valores padrão. Por exemplo, node-redis começará a rodar no host local, na porta 6379, por padrão.
Aqui estão algumas maneiras de usar o criarcliente função:
// usando string de conexão
const RedisClient = redis.createClient("rediss://127.0.0.1:6379")
// usando objeto de parâmetro
const RedisClient = redis.createClient({
soquete: {
hospedar: "127.0.0.1",
porta: "6379"
},
nome de usuário: "seu nome de usuário redis",
senha: "sua senha"
})
Use instâncias Redis seguras na produção. Quando este for o caso, você tem um seguro URL string para conexão ou use os parâmetros mostrados acima. Seja qual for o caso, lembre-se sempre de manter as credenciais fora do código e, em vez disso, use variáveis de ambiente.
Executando operações básicas do Redis no Node.js
O código a seguir se conecta ao Redis usando o conectarRedis função acima e demonstra algumas operações básicas que você pode executar no Redis a partir de seus aplicativos Node.
const testeRedis = assíncrono () => {
aguardam conectarRedis()// Define e recupera um valor
aguardam RedisClient.set("nome", "Timmy")
const getCommand = aguardam RedisClient.get("nome")
console.log (getCommand)// Excluir valores imediatamente ou programá-los para expirar
// em alguns segundos
aguardam RedisClient.del("nome");
aguardam RedisClient.setEx("localização", 60, "Lagos")// Coloca na frente ou atrás de uma lista
aguardam RedisClient.lPush("dias", "segunda-feira")
aguardam RedisClient.rPush("dias", "terça-feira")
aguardam RedisClient.lPush("dias", "quarta-feira")
const diasArray = aguardam RedisClient.lRange("dias", 0, -1)
// imprime [ 'quarta', 'segunda', 'terça']
console.log (daysArray)// Remove um item do final ou da frente de uma lista
aguardam RedisClient.rPop("dias")
aguardam RedisClient.lPop("dias")
const newDaysArray = aguardam RedisClient.lRange("dias", 0, -1)
// imprime [ 'segunda-feira']
console.log (newDaysArray)
}
testeRedis()
Observe o uso de assíncrono e aguardam aqui. Isso ocorre porque todas as funções são executadas de forma assíncrona e retornam promessas, portanto, se você precisar de seus resultados imediatamente, é importante aguardam eles.
O código acima mostra apenas algumas operações básicas que você pode executar no Redis a partir de um aplicativo Node.js. Existem muitos outros comandos e conceitos que valem a pena examinar.
O Comandos Redis seção no README encontrada em node-redis'sGitHub repositório é um bom lugar para encontrar todos os outros comandos e o que eles fazem.
Use o Redis para criar aplicativos eficientes
Aproveitar o poder do Redis permite que você, como desenvolvedor, crie aplicativos do lado do servidor altamente eficientes. Com o armazenamento de dados na memória do Redis e extensas estruturas e comandos de dados, os aplicativos podem obter otimizações de desempenho notáveis.
Você definitivamente deve considerar a integração do Redis em seu próximo aplicativo Node.js para sobrecarregar o desempenho do seu aplicativo e oferecer uma melhor experiência do usuário.