Redis学习(10)--布隆过滤器

本文介绍了Redis 4.0引入的布隆过滤器,用于高效解决大数据量下的去重问题。内容包括布隆过滤器的使用方法、原理以及空间占用的估算,强调了错误率与空间的关系以及如何避免误判率上升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

层峦叠嶂-布隆过滤器 >=4.0

背景: 讲个场景,比如我们在使用新闻客户端看新闻时,它会给我们不停地推荐新的内容,而他每次推荐都要去重,而如果用set结构去实现,则需要浪费的空间很大很大。布隆过滤器(Bloom Filter)就是为了专门解决这个问题的额,它相当于一个不怎么精确的set结构,当你使用它的contains方法判断某个对象是否存在时,他可能会误判。即当布隆过滤器说某个值存在时,这个值可能不存在;当它说某个值不存在时,那就肯定不存在。

使用方法

redis4.0之后提供了布隆过滤器插件

用docker安装体验Redis 4.0的布隆过滤器

> docker pull redislabs/rebloom # 拉取镜像
> docker run -p 6379:639 redislabs/rebloom # 运行容器
> redis-cli # 连接容器中的Redis服务

基本用法

> bf.add codehole user1 # 添加一个元素
(integer) 1
> bf.exists codehole user1
(integer) 1
> bf.exists codehole user2
(integer) 0
> bf.madd codehole user2 user3 user4
1)(integer) 1
2)(integer) 1
3)(integer) 1
> bf.mexists codehole user2 user3 user5
1)(integer) 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值