目前我这样做是为了在NodeJS和Redis中使用node-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');
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
问题是三个请求将是一个接一个,我想一次做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');
}
Run Code Online (Sandbox Code Playgroud)
先感谢您
Ofi*_*zon 12
MGET可能是最快的,而不是来回3次:
client.mget(["data1", "data2", "data3"], function (err, res) {
console.dir(res);
});
Run Code Online (Sandbox Code Playgroud)
您可以使用mget或batch。
redis.mget(['data1', 'data2', 'data3'], cb);
Run Code Online (Sandbox Code Playgroud)
或者
redis.batch().get('data1').get('data2').get('data3').exec(cb);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2768 次 |
| 最近记录: |