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);