Получить несколько ключей с сервера Redis и проанализировать JSON без цикла, используя узел JS - PullRequest
0 голосов
/ 06 сентября 2018

Я переключаю свой REST API с lumen на узел, данные сохранялись на redis в формате значения ключа, но поскольку библиотека lib lumen cache поддерживает сериализацию данных, поэтому все данные были в формате serialis в redis, но в node.js для достижения этого было необходимо использовать пакет php-serializer или использовать цикл для декодирования данных, полученных с Redis.

Чтобы избежать этого условия, я сохранил данные на redis в формате JSON, но пытаюсь получить от redis с помощью mget, но я получаю данные в строковом формате.

client.mget(["data1", "data2", "data3"], function (err, res) {
    console.dir(res);
});

Я знаю из JSON.parse, что могу получить значение json, но я не хочу запускать цикл для преобразования каждого значения в массив JSON.

Пожалуйста, предложите, как мы можем получить данные JSON от redis. Нужно ли мне использовать какую-либо инфраструктуру на nodejs или нужно изменить сохраненные данные на redis.

В настоящее время я храню данные в этом формате в Redis.

СС: http://prntscr.com/krkvbp

Если я получаю только один ключ, используя этот код:

client.get("data1", function(err, reply) {
    // reply is null when the key is missing
    var cacheData = JSON.parse(reply);
    console.log(cacheData.mId);
});

Так что я могу получить правильный объект JSON из JSON.parse, но если я хочу получить данные в кучу, используя.

client.mget(["data1", "data1", "data1"], function (err, res) {
    console.log(res);
});

Чем я получил такой ответ.

СС: http://prntscr.com/krkxl4

Я не хочу запускать цикл для каждого индекса массива. Предложите, пожалуйста, есть ли какой-нибудь пакет для достижения этого или нужно добавить какие-либо рамки или изменить процедуру хранения.

Ранее я хранился таким образом (формат Unserialize).

СС: http://prntscr.com/krkz0u

...