Redis 及RedisBloom 安装
Redis
-
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
-
tar -zxvf redis-5.0.7.tar.gz -C /opt/apps/
-
cd /opt/apps/redis-5.0.7
-
make
查看是否生成启动
-
ls /usr/local/bin/
-
make install
修改配置文件
-
vim redis.conf
-
-
# 修改
-
#bind 127.0.0.1
-
protected-mode no
-
daemonize yes
启动
-
# 启动服务
-
redis-server /opt/apps/redis-5.0.7/redis.conf
-
-
# 启动客户端
-
redis-cli
-
-
# 测试
-
#127.0.0.1:6379> ping
-
#PONG
-
#127.0.0.1:6379>
-
-
# 关闭服务
-
127.0.0.1:6379> shutdown
-
-
# 关闭客户端
-
127.0.0.1:6379> ctrl + c
-
-
# 查看进程
-
ps -ef | grep -i redis
删除
-
# 1. 删除/usr/local/bin/下的启动文件
-
cd /usr/local/bin
-
-
# 2. 删除编译文件
-
cd /opt/app/
-
rm -rf redis-5.0.7
RedisBloom
-
wget https://github.com/RedisBloom/RedisBloom/archive/v2.0.3.tar.gz
-
tar -zxvf /data4/jars/RedisBloom-2.0.3.tar.gz -C /opt/apps/
-
cd /opt/apps/RedisBloom-2.0.3/
-
make
使用RedisBloom
1. 修改redis.conf
-
################################## MODULES #####################################
-
-
# Load modules at startup. If the server is not able to load modules
-
# it will abort. It is possible to use multiple loadmodule directives.
-
#
-
# loadmodule /path/to/my_module.so
-
# loadmodule /path/to/other_module.so
-
-
loadmodule /opt/apps/RedisBloom-2.0.3/redisbloom.so
2. 或着,启动服务时加载
-
redis-server /opt/apps/redis-5.0.7/redis.conf \
-
--loadmodule /opt/apps/RedisBloom-2.0.3/redisbloom.so
测试
-
redis-cli
-
127.0.0.1:6379> bf.add newFilter foo
-
127.0.0.1:6379> bf.exists newFilter foo
自定义过滤器
通过自定义布隆过滤器的参数,降低误判率。在 add 前使用 bf.reserve 命令创建。
key 过滤器 key 名。
error_rate 容错率,取值范围为(0,1),默认0.01。值越小,占用内存越大。
Size 初始化过滤器的容量,默认100。数量超过这个值后,误判率会上升。
-
bf.reserve {key} {error_rate} {size}
-
-
#如
-
bf.reserve user 0.000001 1000000
添加过滤器或值
如果过滤器不存在,则会自动创建,使用默认的容量与容错率。
bf.add {newFilter} {foo}
检查过滤器中值是否存在
bf.exists {newFilter} {foo}