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);
});