代码很简单,如下:varfind;data.some(function(ip){client.sismember(url+':ip',ip,function(err,mem){!mem&&(find=ip);console.log('redis:'+find);});console.log(find);returnfind;});原理很简单:我先some循环一个IP数组如果数组中的IP不存在redis中,我就将find赋值为当前IP如果循环过程中找到了IP,我就跳出循环,不再一直查询redis结果,代码中有两个console:先循环数组数据,find一直是undefined,因此不会跳出循环之后执行所有redis查询结果,并重复给find复制,并打印出来问题:首先结果不是我想要的效率差,我循环100条就查询100次redis请问如何解决?
翻阅古今
相关分类