[ Redis16篇]BitMap布隆过滤器
2021/12/6 2:17:27
本文主要是介绍[ Redis16篇]BitMap布隆过滤器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.什么是布隆过滤器
本质上布隆过滤器是一种数据结构,特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。
相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,
但是缺点是其返回的结果是概率性的,而不是确切的。
实现原理:
布隆过滤器是一个 bit 向量或者说 bit 数组,长这样:
2.使用场景
- 解决数据库缓存击穿(比如受到攻击服务器时,会构建大量不存在于缓存中的key向服务器发起请求,在数据量足够大的时候,频繁的数据库查询会导致宕机);
- 去重(比如:爬给定网址的时候对已经爬取过的URL去重);
- 文章是否已读 (比如:新闻推荐系统)
- 邮箱的垃圾邮件过滤、黑名单等;
综上都是基于判断集合中元素是否存在使用的。
3.存储什么样的数据 ?
存储每个元素只能是 0 或者 1,每个元素都只占用 1 bit 。
比如:一个100万的位数组占用大小应为
1000000Bit / 8 = 125000 Byte = 125000/1024 kb ≈ 122kb
这篇关于[ Redis16篇]BitMap布隆过滤器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识