Redis é um armazenamento de código aberto para armazenamento de estruturas de dados. Ele é usado de várias maneiras. É usado como banco de dados, cache e intermediário de mensagens. Ele pode armazenar estruturas de dados como strings, hashes, conjuntos, conjuntos classificados, bitmaps, índices e fluxos.

O Redis é muito útil para desenvolvedores Node.js, pois reduz o tamanho do cache, o que torna o aplicativo mais eficiente. No entanto, é muito fácil integrar o Redis com aplicativos Node.js. 

Pré-requisitos: Antes de iniciar nosso aplicativo, certifique-se de fazer a seguinte instalação em seu sistema:

  1. Um IDE de sua escolha.
  2. Redis instalado em seu sistema. Verifique a versão que você está usando o seguinte comando:
    redis cli - versão
  3. Node.js, NPM instalado e configurado em seu sistema.
  4. Conhecimento básico de Node.js e Redis.

Primeiros passos: primeiro inicialize o aplicativo com o arquivo package.json . Digite o seguinte comando:

npm init

Agora, instale o módulo redis pelo seguinte comando:

npm install redis --save

Agora, crie um novo arquivo e nomeie-o como app.js. Você pode nomear seu arquivo como quiser. No arquivo app.js , escreva o seguinte código:

Nome do arquivo: app.js

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});

Aqui, estamos importando o módulo redis e criando um cliente para redis. O cliente é então usado para manipular o módulo. No código acima, estamos criando um servidor. Para executar o aplicativo basta digitar o seguinte comando:

node app.js

A saída para o código acima será registrada no console como:

Connection Successful!!

Armazenamento de string: para armazenar uma string no Redis, escreva o seguinte código no arquivo app.js:

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});
  
client.set("Intern", "gfg", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
});

A função client.set() assume o formato de valor-chave. Aqui, Intern é a chave e gfg é o valor. Além disso, é necessária uma função de retorno de chamada que retornará um erro (se houver) ou registrará o valor como OK se a string for armazenada com sucesso. A saída para o código acima será:

Connection Successful!!
OK

Para obter o valor da chave armazenada no banco de dados redis, usaremos a função get conforme mostrado abaixo:

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});
  
client.set("Intern", "gfg", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
});
  
client.get('Intern', (err, stu) => {
    if (err) console.log(err);
    else console.log(stu); 
});

Aqui, o método client.get() obterá o valor da chave Intern e o registrará no console. A saída para o código acima será:

Connection Successful!!
OK
gfg

Armazenando objetos: para armazenar objetos no banco de dados redis, escreva o seguinte código:

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});
  
client.set("Intern", "gfg", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
});
  
client.get('Intern', (err, reply) => {
    console.log(reply); 
});
  
client.hmset("Interns", { pos: "Tech Writer", Org: "GFG" });

Agora, a chave será Estagiários e seu valor será {pos: “Escritor Técnico”, Org: “GFG”}.

Para obter o valor do banco de dados redis, escreva o seguinte código:

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});
  
client.set("Intern", "gfg", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
});
  
client.get('Intern', (err, reply) => {
    console.log(reply); 
})
  
client.hmset("Interns", { pos: "Tech Writer", Org: "GFG" });
  
client.hgetall("Interns", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
  });

Aqui, o método hgetall é usado para obter todos os valores da chave e registrá- los no console. A saída para o código acima será:

Connection Successful!!
OK
gfg
{ pos: 'Tech Writer', Org: 'GFG' }

Conclusão: o Redis pode tornar os aplicativos Node.js rápidos, poderosos e eficientes. O Redis pode ser chamado de armazenamento de banco de dados para várias estruturas de dados.