Node.js 将数组从NodeJS插入redis

Node.js 将数组从NodeJS插入redis,node.js,redis,node-redis,Node.js,Redis,Node Redis,我有一个数组,我在一个数组中填充,如下所示: var obj = []; for(i = 0; i < data.bids.length; i += 1) { obj.push(JSON.parse(data.bids[i][0])); } 我试图将其保存在redis键下,但是回复是未定义的 client.set('order-book:buy:bitstamp', obj, function(err, reply) { console.log(reply); });

我有一个数组,我在一个数组中填充,如下所示:

var obj = [];
for(i = 0; i < data.bids.length; i += 1) {
    obj.push(JSON.parse(data.bids[i][0]));
}
我试图将其保存在redis键下,但是
回复
未定义的

client.set('order-book:buy:bitstamp', obj, function(err, reply) {
    console.log(reply);
});
我也尝试过使用
rpush
,但没有成功。

有什么问题吗?

您可以在此处检查哪些类型与redis值兼容

如果需要在redis中保存对象数组,唯一的方法是使用
JSON.stringify(obj)
。 因此,在您的示例中,它看起来像:

const redisValue = JSON.stringify(obj);
client.set('order-book:buy:bitstamp', redisValue, function(err, reply) {
    console.log(reply);
});

从redis读取数据时,您可以轻松使用
JSON.parse(redisResponse)

您是否检查了
err
。set需要一个字符串,它看起来像您想要的
client.set(key,JSON.stringify(obj),function(err,reply){if(err){console.error(err);}console.log(reply);})
client.rpush(key,array,callback)
很可能是您最终得到的结果,因为list是您数据的更自然的数据类型,如果已经将key设置为它使用的
JSON.stringify
,如果我使用
rpush
我得到
未定义的
,它将失败。
const redisValue = JSON.stringify(obj);
client.set('order-book:buy:bitstamp', redisValue, function(err, reply) {
    console.log(reply);
});