如何在节点js中使用bloomredis

r6l8ljro  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(295)

我需要在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
})

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题