gpt4 book ai didi

json - 如何从Redis获取所有数据到JSON

转载 作者:IT王子 更新时间:2023-10-29 06:15:06 25 4
gpt4 key购买 nike

我想将 Redis(数据库“10”)中的所有数据检索到一个 JSON 变量中。但我对异步调用有点困惑......我试过这个:

redis = require('redis');
client = redis.createClient();
client.send_command('select', [10], redis.print);
var r = {};
client.keys('*', function (err, keys) {
keys.forEach(function(c){
client.get(c, function(err, v){
r[c] = v;
});
});
});
console.log(JSON.stringify(r));
client.quit();

但是我的 'r' JSON 变量是空的...我如何使用回调方法或同步代码来做到这一点?

谢谢。

最佳答案

我会尝试使用异步模块 https://github.com/caolan/async使其异步。

redis = require('redis');
client = redis.createClient();
client.send_command('select', [10], redis.print);
var r = {};

client.keys('*', function(err, keys) {
async.each(keys, function(key, callback) {
client.get(key, function(err, value) {
r[key] = value;
callback(err);
});
}, function() {
// when callback is finished
console.log(JSON.stringify(r));
client.quit();
});
});

你也可以使用 fibrous 模块使其同步 https://github.com/goodeggs/fibrous

虽然同步代码很危险!

关于json - 如何从Redis获取所有数据到JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23349179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com