Как я могу использовать Redis для хранения и извлечения данных? - PullRequest
0 голосов
/ 13 февраля 2020

Есть ли способ, которым данные могут храниться в redis из одного файла и извлекаться из другого файла, я имею в виду, как это происходит с local storage, то есть, например,

;

1.Redis (пример того, чего я хочу достичь, не основанный на правильном синтаксисе)

// fileA.js
const redis = require("redis");

const redisHost = "localhost";
const redisPort = process.argv[3] || 3000;

const client = redis.createClient({
  port: redisPort,
  host: redisHost
});

client.set("PIN", "VC-5269");
// file B.js
...
client.get("PIN", function(err, response) {
  if (err) {
    throw err;
  } else {
    console.log(response); -->> expected value: "VC-5269"
  }
});

2. локальное хранилище

// file.js
localStorage.setItem("PIN", "VC-5269");
// fileB.js
localStorage.getItem('PIN'); -->> expected value: "VC-5269"

В основном , у меня api, который отправляет PIN-код на телефон пользователя, затем я хочу чтобы получить эту копию PIN-кода так, чтобы я сопоставил ее с той, которую пользователь предоставит, в настоящий момент я хочу использовать ее из бэкэнда в node.js

1 Ответ

0 голосов
/ 13 февраля 2020

Существует много способов решения этой проблемы.

Первые способы использования модуля экспорта

// fileA.js
const redis = require("redis");

const redisHost = "localhost";
const redisPort = process.argv[3] || 3000;

const client = redis.createClient({
  port: redisPort,
  host: redisHost
});

client.set("PIN", "VC-5269");

module.exports = client;





// file B.js
const {client} = require("./fileA.js");
...
client.get("PIN", function(err, response) {
  if (err) {
    throw err;
  } else {
    console.log(response); -->> expected value: "VC-5269"
  }
});

Использование Second Way Node Event Emitter


Третьи способы использования Redis pubsub

// fileA.js

const redis = require("redis");
const redisHost = "localhost";
const redisPort = process.argv[3] || 3000;

const publisher = redis.createClient({
  port: redisPort,
  host: redisHost
});

 publisher.publish("PIN", "VC-5269")


// B.js

const redis = require("redis");
const redisHost = "localhost";
const redisPort = process.argv[3] || 3000;

const publisher = redis.createClient({
  port: redisPort,
  host: redisHost
});


subscriber.subscribe("PIN");

subscriber.on("message",(channel,message) => {
    // here you get pin
    console.log("Received data :"+message);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...