Php 从redis服务器获取多个密钥,并使用节点JS无循环解析json
我正在将REST API从lumen切换到节点,数据以键值格式存储在redis上,但lumen缓存库支持序列化数据,因此所有数据在redis中都是序列化格式,但在node.js中,要实现这一点,需要使用php序列化程序包或使用循环对从redis获取的数据进行解码 为了避免这种情况,我将数据以JSON格式存储在redis上,但尝试使用mget从redis获取数据,但获取的数据是字符串格式Php 从redis服务器获取多个密钥,并使用节点JS无循环解析json,php,node.js,redis,lumen,Php,Node.js,Redis,Lumen,我正在将REST API从lumen切换到节点,数据以键值格式存储在redis上,但lumen缓存库支持序列化数据,因此所有数据在redis中都是序列化格式,但在node.js中,要实现这一点,需要使用php序列化程序包或使用循环对从redis获取的数据进行解码 为了避免这种情况,我将数据以JSON格式存储在redis上,但尝试使用mget从redis获取数据,但获取的数据是字符串格式 client.mget(["data1", "data2", "data3"], function (err,
client.mget(["data1", "data2", "data3"], function (err, res) {
console.dir(res);
});
我知道从JSON.parse可以得到JSON值,但我不想运行循环将每个值转换为JSON数组
请建议我们如何从redis获得JSON数据。我是否需要在nodejs上使用任何框架,或者需要更改redis上存储的数据
目前我正在redis中以这种格式存储数据
SS:
如果使用此代码仅获取一个密钥:
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:
我不想为数组上的每个索引运行循环。请建议是否有任何包来实现它,或者需要添加任何框架或更改存储过程
以前我是以这种方式存储的(非序列化格式)
SS:您可以使用
JSON.parse()
函数。例如:JSON.parse(res)
我已经提到了JSON.parse将解析一个索引,但不是所有的索引数组我想你可以在这里找到解决方案,@giankotarola,我已经检查过了,但它没有完全转换为JSON,在这样的一个节点上:[[Object],[Object],[Object],[Object],[Object]],