Redis中使用布隆过滤器

Redis原生是不带有布隆过滤器的,Redis 4.0之后支持插件,可以安装插件,这样就可以使用布隆过滤器了。

项目地址:
https://github.com/RedisBloom/RedisBloom
(我自己fork的地址:https://github.com/M000M/RedisBloom)

安装布隆过滤器插件步骤:

  1. git clone 项目地址
  2. 进入项目RedisBloom
  3. make 编译代码
  4. 可以看到 redisbloom.so 文件
  5. 重新启动redis,带上相应的插件就能使用布隆过滤器了
  6. 执行命令
    redis-server redis-6379.conf --loadmodule (RedisBloom项目所在的路径)/RedisBloom/redisbloom.so [INITIAL_SIZE 100000] (INITIAL_SIZE可以不写,使用默认的)
  7. 登录Redis客户端就可以使用Bloom Filter了
  8. 命令 bf.add 添加; bf.exists 判断对应的布隆过滤器中是否存在指定的值
    Redis中使用布隆过滤器_第1张图片
    1. 新建布隆过滤器
    bf.reserve {key} {error_rate} {size}
    error为容错率,取值范围我饿 0 ~ 1;数值越小,占用内存越大,占用CPU资源越大;
    size为容量,添加的条目超过这个数值后,性能将开始下降;实际降级将取决于超过的程度;随着条目呈指数增长,性能将呈线性下降;
    2. 添加过滤器与值
    bf.add {key} {value}
    当key对应的Bloom Filter不存在时,将添加新的名为key的Bloom Filter,使用默认的error_rate和size;
    3. 判断Bloom Filter中是否存在某个值
    bf.exists {key} {value}
    存在返回1,否则返回0

你可能感兴趣的:(Redis,布隆过滤器,Bloom,Filter,redis,布隆过滤器,Bloom,Filter)