redis module 布隆过滤器的使用

登录:
https://redis.io/
点击 module

RedisBloom:
如下图右键红框位置,选择复制链接
在这里插入图片描述

wget命令下载.zip文件:
在这里插入图片描述
安装unzip命令

yum install unzip

解压源码:

unzip master.zip

进入解压后的文件:
发现有Makefile文件

make
执行结束后,发现多了redisbloom.so这个扩展库
一般会将此库放到redis目录中
cp redisbloom.so /opt/mashibing/redis6

在这里插入图片描述
停调redis

service redis_6379 stop
ps -fe|grep redis //查看是否还有redis服务
在这里插入图片描述

手工启动redis:

redis-server --loadmodule /opt/mashibing/redis6/redisbloom.so //注意.so库要用全路径

连接客户端

redis-cli

再启动 redis_6380 ,且建立一个客户端链接:
在这里插入图片描述
只对6379加载了布隆模块,因此输入bf按tab键会弹出一些命令,
而6380的客户端连接不会,
在这里插入图片描述
布隆过滤器可以解决缓存穿透问题:
布隆过滤器原理:小的空间解决大量数据匹配的过程
缓存穿透:缓存没有 数据库也没有
在这里插入图片描述
有如下几种解决缓存穿透的方法:
在这里插入图片描述
在这里插入图片描述

vi /etc/redis/6379.conf
里面有maxmemory //可以设置大小
可以查看redis的配置
redis内存 最好控制在 1G-10G范围,如果特别大,数据迁移成本高、持久化成本高。

redis内存满后,
maxmemory-policy noeviction
在这里插入图片描述
在这里插入图片描述

volatile查询的key是 设置如下命令的key: (expire expireat)
设置过期时间,两种方法
expire命令:

127.0.0.1:6380> set k1 aaa ex 20
OK
127.0.0.1:6380> ttl k1
(integer) 16
127.0.0.1:6380>
127.0.0.1:6380> ttl k1
(integer) 12
127.0.0.1:6380> get k1
“aaa”
127.0.0.1:6380> get k1
(nil)

127.0.0.1:6380> set k2 bbb
OK
127.0.0.1:6380> expire k2 20
(integer) 1
127.0.0.1:6380> ttl k2
(integer) 16

expireat命令:

127.0.0.1:6380> keys *
(empty array)
127.0.0.1:6380> set k1 aaa
OK
127.0.0.1:6380> time //获取时间戳

  1. “1615152055”
  2. “851450”
    127.0.0.1:6380> EXPIREAT k1 1615155055
    (integer) 1
    127.0.0.1:6380> ttl k1
    (integer) 2978
    127.0.0.1:6380> ttl k1
    (integer) 2970
    127.0.0.1:6380> set k1 bbb //更改k1值后 发现会终止定时
    OK
    127.0.0.1:6380> ttl k1
    (integer) -1
    127.0.0.1:6380>
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值