我对Nodejs及其异步方式不是很熟悉。 我正在尝试查询redis的不同数据库。
我有一个简单的函数来从redis数据库中获取密钥:
function get_key(client, key, db, callback) {
if (key) {
client.select(db, function(e, s) {
if (e) {
console.log('client.select err: ' + e);
} else if (s) {
client.get(key, function(e, s) {
callback(e, s);
return s;
});
}
});
}
return
}
我正在用它来查询这样的多个数据库:
get_key(client, key1, 0, function(e, s) {
if (s) {
// do stuff with s;
} else {
debug('e: ' + e);
}
});
get_key(client, key2, 1, function(e, s) {
if (s) {
// do stuff with s;
} else {
debug('e: ' + e);
}
});
但它无法正常工作。但是如果我为每个查询创建不同的客户端,它就可以工作。我在十几个数据库中查询,并且不希望每次进行查询时都创建一个新客户端。
有更好的方法吗?我不熟悉的“节点”方式?谢谢。