从 NodeJS 将数组插入 redis
Insert array into redis from NodeJS
我有一个数组,我用这样的 for 填充它:
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 密钥下,但 reply
是 undefined
client.set('order-book:buy:bitstamp', obj, function(err, reply) {
console.log(reply);
});
我也尝试过 rpush
,但没有成功。
可能是什么问题?
您可以在此处查看哪些类型与 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)
。
我有一个数组,我用这样的 for 填充它:
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 密钥下,但 reply
是 undefined
client.set('order-book:buy:bitstamp', obj, function(err, reply) {
console.log(reply);
});
我也尝试过 rpush
,但没有成功。
可能是什么问题?
您可以在此处查看哪些类型与 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)
。