redis——bloom(布隆过滤器模块)的使用

官方网站

cd /usr/local/src
wget https://github.com/RedisBloom/RedisBloom/archive/master.zip
#下载完成后,如果没有unzip,需要先安装unzip           
#yum install unzip
unzip master.zip
#解压完成后会出现一个RedisBloom-master的文件夹,进去
cd RedisBloom-master
#执行make命令需要gcc编译器,没有的需要先安装       yum install gcc
make
#make执行成功后会有一个redisbloom.so扩展库
#我安装redis的时候,make install的目录为/opt/redis6,所以我的redis命令都在/opt/redis6/bin目录下,我把这个扩展库复制到/opt/redis6目录下,方便使用
cp redisbloom.so /opt/redis6

重新启动redis

/opt/redis6/bin/redis-server --loadmodule ./redisbloom.so 

布隆过滤器是干啥的?

可以防止缓存穿透:

假如系统中有大量的商品数据,搜索时,不可能直接查询数据库,这时候,可以把商品的关键字(名称或者id)根据某些映射元素映射到bitmap中,这样,所有的商品关键字就存在了redis中,当搜索时,同样使用映射函数查询映射的结果是否在bitmap中被标记了,如果被标记了,就说明很大的概率是由该商品的。

布隆过滤是概率解决问题的,不可能百分百的阻挡,会大量减少放行,而且成本低。

参考资料:https://www.jianshu.com/p/2104d11ee0a2

原文地址:https://www.cnblogs.com/know-more/p/13435782.html