布谷鸟过滤器
查找
// https://github.com/RedisBloom/RedisBloom/blob/bdc753e983aa1e23fea733d75b4e4e54848093c1/src/cuckoo.c
static void getLookupParams(CuckooHash hash, LookupParams *params) {
params->fp = hash % 255 + 1; // 指纹
params->h1 = hash; // 主位置
params->h2 = getAltHash(params->fp, params->h1); // 备选位置
}
static CuckooHash getAltHash(CuckooFingerprint fp, CuckooHash index) {
return ((CuckooHash)(index ^ ((CuckooHash)fp * 0x5bd1e995)));
}插入
布谷鸟过滤器相对布隆,有什么缺点?
Last updated