NodeJS和Redis:同时获取三个值
当前,我这样做是为了通过Node-redis在NodeJS和Redis中获得很多值:
redis.get('data1', function(err, data1)
{
redis.get('data2', function(err, data2)
{
redis.get('data3', function(err, data3)
{
if (data3 == xx && data2 == xx && data3 == xx)
{
console.log('its ok');
}
});
});
});
问题是这三个请求将是一个接一个,我想一次发出3个请求,然后像这样调用我的条件(这不起作用,只是为了让您了解我想要的东西:]
redis.get('data1', function(err, data1) { var data1 = data1; });
redis.get('data2', function(err, data2) { var data2 = data2; });
redis.get('data3', function(err, data3) { var data3 = data3; });
// When the 3 get operations was finished
if (data3 == xx && data2 == xx && data3 == xx)
{
console.log('its ok');
}
提前谢谢您
回答如下:您可以使用mget
或batch
。
redis.mget(['data1', 'data2', 'data3'], cb);
或
redis.batch().get('data1').get('data2').get('data3').exec(cb);