一、下载RedisBloom
https://github.com/RedisBloom/RedisBloom/releases
wget https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.2.12.tar.gz
二、解压编译下载文件
解压
tar -zxvf v2.2.12.tar.gz
编译
cd 解压后文件地址
make
##三、修改配置文件
vim redis.conf
增加 loadmodule /xx/xx/redisbloom.so
chmod 777 切记要拥有可执行权限
三、启动redis
docker run -d --privileged=true -p 6379:6379 -v /home/chihai/redis_alone/conf/redis.conf:/usr/local/etc/redis/redis.conf
-v /home/chihai/redis_alone/data:/data -v /home/chihai/redis_alone/log/redis.log:/data/redis/redis-log/redis.log --name
myredis1 redis:6.2.6 redis-server /usr/local/etc/redis/redis.conf --appendonly yes
执行下bf命令检测下是否安装成功
四、内存占用估算
Bloom Filter会有几比较关键的值,根据这个值你是大致可以算出放多少条数据然后它的误伤率在多少时会占用多少系统资源的。这个算法有一个网址:https://krisives.github.io/bloom-calculator/,我们放入1000万条数据,假设误伤率在0.001%,看,它自动得出Redis需要申请的系统内存资源是多少?仅需17m左右
那么怎么解决这个误伤率呢?很简单的,当有误伤时业务或者是运营会来报误伤率,这时你只要添加一个小白名单就是了,相对于100万条数据来说,1000个白名单不是问题。并且bloom filter的返回速度超块,80-100毫秒内即返回调用端该Key存在或者是不存了。
|