Redis安装布隆过滤扩展方法

RedisBloom 插件下载和安装

wget https://codeload.github.com/RedisBloom/RedisBloom/tar.gz/refs/tags/v2.2.18
tar -zxvf v2.2.18
cd RedisBloom-2.2.18/
make

复制 Bloom filter 扩展文件到指定位置,这里以 /www/server/redis/ 为例

cp redisbloom.so /www/server/redis/
chown redis:redis /www/server/redis/redisbloom.so

在redis的配置文件 redis.conf 加上如下配置

loadmodule /www/server/redis/redisbloom.so

重启redis完全成扩展加载。


布隆过滤使用方法示例可以参见:https://redis.io/docs/data-types/probabilistic/bloom-filter/

php可参考以下方法,以下以数据总量10000000 ,误判率 0.001(0.1%)为例,$bloom_name 为过滤器名称,需自定义:

//初始化一个布隆过滤器
$redis->rawCommand('BF.RESERVE', $bloom_name, 0.001, 1000000);

添加和判断数据是存存在

//添加一条数据,如果添加成功,则会返回1,如果添加不成功,即数据已经存在,则返回0,如果执行命令失败,如扩展未开启,则返回 false
$redis->rawCommand('BF.ADD', $bloom_name, $data);

//查询一条数据是否存在,如果存在则会返回1,如果不存在,则返回0
$redis->rawCommand('BF.EXISTS', $bloom_name, $data);