从NodeJS将数组插入redis

时间:2018-05-08 05:33:02

标签: node.js redis node-redis

我有一个数组,我填写如下:

var obj = [];
for(i = 0; i < data.bids.length; i += 1) {
    obj.push(JSON.parse(data.bids[i][0]));
}

之后我验证数组是否包含所需的值(它包含):

console.log("Array after the for: \n");
console.log(obj);

我尝试将其保存在redis密钥下,但replyundefined

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

我也试过rpush,但没有运气 可能是什么问题?

1 个答案:

答案 0 :(得分:1)

您可以在此处查看哪些类型兼容为redis值 data-types-intro

如果需要以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)