【redis】redis添加bloom filter布隆过滤器插件

前言

redis在4.0版本以后可通过插件的形式添加布隆过滤器,以下为具体操作。

操作

https://github.com/RedisBloom/RedisBloom下载最新的release源码,在编译服务器进行解压编译:

tar zxvf RedisBloom-1.1.1.tar.gz
cd RedisBloom-1.1.1
make

得到动态库rebloom.so
启动redis时,如下启动即可加载bloom filter插件

./redis-server /usr/local/redis/conf/redis_6380.conf --loadmodule /usr/local/redis/src/rebloom.so INITIAL_SIZE 10000000 ERROR_RATE 0.0001
指定了默认的容量与容错率

命令:

新建过滤器:

BF.RESERVE {key} {error_rate} {size}
error_rate指容错率,取值范围为(0,1),数值越小,占用内存越大,操作时占用cpu资源 越大。
Size指过滤器的容量,添加的条目数超过此数字后,性能将开始下降。实际降级将取决 于超出限制的程度。随着条目数呈指数增长,性能将呈线性下降。
如果不通过该命令来新建过滤器,bf.add添加值时会自动创建过滤器,但会使用默认的 容量与容错率。

添加过滤器与值:

BF.ADD {newFilter} {foo}
如果过滤器不存在,则会自动创建,使用默认的容量与容错率。

检查过滤器中是否存在值:

BF.EXISTS {newFilter} {foo}

参考:

https://baijiahao.baidu.com/s?id=1611754128562106165&wfr=spider&for=pc
https://oss.redislabs.com/redisbloom/Bloom_Commands/

posted @ 2019-05-24 15:28  JESSET  阅读(5353)  评论(0编辑  收藏  举报