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
水滴石穿不止是水的力量,还有重复的力量!