我正在编写一个NodeJS应用程序,它向第三方api发出get请求。这个api返回一个字典列表。我想取这个结果,并将其存储在我的redis客户端中。我该怎么做?
结果对象如下所示 -
[{"foo":123, "bar":456}, {"foo":789, "bar":012}]
答案 0 :(得分:0)
听起来你不需要查询dicts中的元素,所以将它们作为json字符串存储在redis列表中应该没问题。当您批量添加到列表中时,您可以对它们进行字符串化,只需确保使用某种形式的管道衬里,这样您就不会进行不需要的api调用。然后,您可以在需要时简单地解析json字符串dicts。例如:
function setList (list, callback) {
const pipeline = redis.pipeline();
for (const dict of list) {
pipeline.rpush('myList', JSON.stringify(dict));
}
pipeline.exec(callback);
}
function popList (callback) {
redis.lpop('mylist', function (error, data) {
if (error) { return callback(error) }
callback(null, JSON.parse(data));
});
}
答案 1 :(得分:0)
我会简单地假设您的数据为列表或列表为字符串,
let redis = require("redis"),
publisher = redis.createClient(option.redisPort, option.redisHost);
publisher.publish("id", DATA); // here we publish the data.
你在找这样的东西吗?