我需要在nodejs中使用由redis支持的bloomfilter来检查数据流中的重复项。为此,我一直在使用nodejs的bloomredis包。但这些文件一点帮助都没有。我不知道如何检查一个元素是否存在于过滤器中,或者不使用contains函数使用回调。我已经阅读了bloomredis包的代码,并尝试打印当filter中存在元素时回调参数打印的内容,以及当元素不存在时回调参数打印的内容。不幸的是,这两种情况下的回调参数是相同的(val=null,isabsent=true)。那么我如何检查元素的存在呢?
下面是我的代码,我试图检查元素的存在:
bloom = require('bloom-redis');
var client = redis.createClient();
bloom.connect(client);
filter = new bloom.BloomFilter({ key : 'mykey',
size:0.002,
numHashes:5 });
filter.add("sam")
filter.add("richa")
filter.contains("element-that-is-not-presnet",function(val,isAbsent){
console.log(val) //return null
console.log(isAbsent) //returns true
})
filter.contains("richa",function(val,isAbsent){
console.log(val) //returns null
console.log(isAbsent) //returns true
})
暂无答案!
目前还没有任何答案,快来回答吧!