从Redis服务器获取多个密钥并使用节点JS解析JSON而无循环

时间:2018-09-06 18:27:21

标签: php node.js redis lumen

我将REST API从流明切换到节点,数据以键值格式存储在redis上,但是由于lumen cache lib支持序列化数据,所以所有数据都以redis序列化格式,但是在node.js中实现了需要使用php-serializer软件包或使用循环来解码从redis获取的数据。

为避免这种情况,我已以JSON格式将数据存储在redis上,但尝试使用mget从redis获取数据,但是我以字符串格式获取数据。

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

我从JSON.parse知道我可以获取json值,但是我不想运行循环将每个值转换为JSON数组。

请提出如何从redis获取JSON数据的建议。我需要在nodejs上使用任何框架还是需要更改redis上的存储数据?

当前,我将这种格式的数据存储在Redis中。

SS: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.parse中获取正确的JSON对象,但是如果我想使用。

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

比我得到这样的答复。

SS:http://prntscr.com/krkxl4

我不想为数组上的每个索引运行循环。请建议是否有任何软件包可以实现它,或者需要添加任何框架或更改存储过程。

以前,我是以这种方式存储的(反序列化格式)。

SS:http://prntscr.com/krkz0u

0 个答案:

没有答案