• 2024-11-18极致高效的数据处理:位图、布隆过滤器与哈希切分的奇妙之旅
    文章目录前言
  • 2024-11-11布隆过滤器
    了解布隆过滤器日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接
  • 2024-11-09布隆过滤器--详解
    抛砖引玉假设遇到这样一个问题:一个网站有20亿url存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个url,你如何快速判断该url是否在这个黑名单中?并且需在给定内存空间(比如:500M)内快速判断出。方案一可能很多人首先想到的会是使用HashSet,因为HashSet基于Ha
  • 2024-11-09京东面试:亿级黑名单 如何设计?亿级查重 呢?(答案含:布隆过滤器、布谷鸟过滤器)
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪
  • 2024-11-07一文理解布隆过滤器和布谷鸟过滤器
    作者:京东保险王奕龙最近在大促中使用到了布隆过滤器,所以本次借着机会整理下相关内容,并了解了布谷鸟过滤器,希望对后续学习的同学有启发~布隆过滤器布隆过滤器是概率性数据结构,用于检查元素是否存在集合中。布隆过滤器并不存储集合中的所有元素,而是存储元素的哈希表示,因此牺牲
  • 2024-11-03redis缓存穿透
    什么是redis缓存穿透?redis缓存穿透就是当服务器发送大量不存在的查询请求是?redis无法命中,导致大量请求打入数据库,然而数据库无法支持那么高的并发。如何解决redis缓存穿透问题?方案一:缓存空数据。当发起请求查询不存在的数据时,redis缓存空数据,这样下次再次查询这个空数
  • 2024-11-02【C++】布隆过滤器的概念与特点解析
    目录00.引入01.布隆过滤器的概念特点1:极低的内存消耗特点2:快速查询特点3:假阳性误判(禁止删除)02.布隆过滤器的底层实现00.引入上一篇博客介绍了位图这一数据结构,它可以在大量整数中快速查找某一数据是否存在,并且内存占用率很低(例如,查找40亿个整数只需0.5G空间)。博客链
  • 2024-10-25java短链接项目-短链接跳转原理包括短链接生成算法(含代码实现)
    文章目录一、图解原理二、短链接生成算法实现1.MurmurHash算法2.为什么使用原始链接和UUID生成短链接?3.为什么不只使用原始链接?4.如果一直冲突怎么办?5.完整代码实现:HashUtil.javaShortLinkController.java三、系统扩展思考题1.如何让短链接系统支持海量请求并发?2.布
  • 2024-10-23一文理解布隆过滤器和布谷鸟过滤器
    大家好,我是方圆。最近在大促中使用到了布隆过滤器,之前学习但没有专门整理过,所以本次借着机会整理下相关内容,并了解了布谷鸟过滤器,希望对后续学习的同学有启发~布隆过滤器布隆过滤器是概率性数据结构,用于检查元素是否存在集合中。布隆过滤器并不存储集合中的所有元素,而是
  • 2024-10-21一文彻底弄清Redis的布隆过滤器
    布隆过滤器(BloomFilter)是一种空间效率极高的数据结构,用于快速判断一个元素是否在集合中。它能够节省大量内存,但它有一个特点:可能存在误判,即可能会认为某个元素存在于集合中,但实际上不存在;而对于不存在的元素,它保证一定不会误判。布隆过滤器适合在对存储空间要求极为严格,同时能接
  • 2024-10-21Bitmap 和 布隆过滤器傻傻分不清?你这不应该啊
    大家好,我是小富~有个兄弟私下跟我说,他在面试狗东时,有一道面试题没回答上来:Redis的Bitmap和布隆过滤器啥区别与关系?其实就是考小老弟对这两种工具的底层数据结构是否了解,不算太难的题。不过,bitmap和布隆过滤器在大数据量和高并发业务的使用频率不低,知识点应该掌握下,既然问了那咱
  • 2024-10-08布隆过滤器
    目录什么是布隆过滤器优点缺点布隆过滤器适用于以下场景:使用步骤依赖配置类使用布隆过滤器实现去重功能(使用之前注意加入依赖和配置类)将数据存储到布隆过滤器中从布隆过滤器中拿出来进行判断使用布隆过滤器解决缓存穿透的问题(使用之前注意加入依赖和配置类)
  • 2024-09-30Redis缓存穿透解决方案之一:布隆过滤器与计数型布隆过滤器概述以及两者在Spring中的使用
    布隆过滤器(BloomFilter)和计数型布隆过滤器(CountingBloomFilter)都是高效的概率性数据结构,用于判断某个元素是否在集合中。它们的设计目标是降低内存开销,通过多个哈希函数与位数组的组合,实现快速查询,但允许一定的误判率。文章目录1.布隆过滤器(BloomFilter)1.1原理1.2
  • 2024-09-25面试官:项目中如何实现布隆过滤器?
    谈起“布隆过滤器”相信大家都不陌生,它也算日常面试中的常见面试题了。例如,当面试官在问到Redis模块的相关问题时,可能会问到缓存穿透(Redis四大经典问题之一),而缓存穿透的经典解决方案之一,则是“布隆过滤器”。但是,对于布隆过滤器是什么?以及布隆过滤器的实现原理?相信大部分同学
  • 2024-09-24Redis系列补充:聊聊布隆过滤器(go语言实践篇)
    ★Redis24篇集合1介绍布隆过滤器(BloomFilter)是Redis4.0版本之后提供的新功能,我们一般将它当做插件加载到RedisService服务器中,给Redis提供强大的滤重功能。它是一种概率性数据结构,可用于判断一个元素是否存在于一个集合中。相比较之Set集合的去重功能,布隆过滤器空
  • 2024-09-19Python中使用Redis布隆过滤器
    Python中使用Redis布隆过滤器在Python中使用Redis布隆过滤器,可以利用redis-py库和redis-py-bloom扩展。布隆过滤器是一种空间效率高的概率性数据结构,适合用于判断某个元素是否在集合中。以下是如何在Python中设置和使用Redis布隆过滤器的步骤:安装依赖首先,确保你已经
  • 2024-09-10布隆过滤器(Bloom Filter)原理+实战
    布隆过滤器的作用是:可用来判断值可能在集合中和绝对不在集合中介绍布隆过滤器(BloomFilter)是1970年由布隆提出的。它实际上是一个很长的二进制向量(位图)和一系列随机映射函数(hash函数)。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远
  • 2024-09-03mini-lsm通关笔记Week1Day7
    Summary在上一章中,您已经构建了一个具有get/scan/put支持的存储引擎。在本周末,我们将实现SST存储格式的一些简单但重要的优化。欢迎来到Mini-LSM的第1周零食时间!在本章中,您将:在SST上实现布隆过滤器,并集成到LSM读路径get中。以SST块格式实现对key存储的压缩。要将测试用例
  • 2024-08-23什么是布隆过滤器,实现原理是什么?
    背景介绍在互联网中,我们经常遇到需要在大量数据中判断目标数据是否存在的情况。例如,在网络爬虫中,我们需要判断某个网址是否已经被访问过。为了实现这一功能,通常需要使用一个容器来存储已访问过的网址。如果将这些数据直接存储在磁盘中,每次判断都要进行磁盘查询,这将导致大量的I
  • 2024-08-19HBase学习的第六天--Hbase之过滤器
    Hbase之过滤器HBase的基本API,包括增、删、改、查等。增、删都是相对简单的操作,与传统的RDBMS相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get)或者根据行键的范围来查询(Scan)。HBase不仅提供了这些简单的查询,而且提供了更加高级的过滤器(Filter)来查询。过滤器可
  • 2024-08-17[Redis]缓存穿透/缓存击穿/缓存雪崩
    缓存穿透用户访问一些不存在的数据,redis没有,于是去mysql查询也没有,这样就发生了两次无效的查询。缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,缓存永远不会生效。这样,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的
  • 2024-08-06海量 url 去重类问题(布隆过滤器)
    布隆过滤器(BloomFilter)是一种空间效率非常高的概率数据结构,主要用于判断一个元素是否在一个集合中。它由一个位数组和一组哈希函数组成,可以用于处理海量数据的去重问题,例如海量URL去重。布隆过滤器的基本原理位数组(BitArray):布隆过滤器使用一个位数组来存储数据。初
  • 2024-08-02使用Redisson和分库分表技术实现海量请求注册功能
    文章目录1.海量注册的常见问题和解决方案概述2.布隆过滤器判断用户唯一性3.通过分布式锁和快速失败策略对同一时间的某一个账号进行锁定4.数据库唯一索引兜底5.通过水平分库水平分表配置分片规则6.通过自定义线程池和异步初始化配置线程池操作异步化1.海量
  • 2024-07-28缓存优化(缓存穿透)
    缓存优化(缓存穿透)缓存穿透缓存穿透是指查询一个一定不存在的数据时,数据库查询不到数据,也不会写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,可能导致数据库崩溃。这种情况大概率是遭到了攻击。常见的解决方案有:缓存空数据,使用布隆过滤器等。当前项目中存在的
  • 2024-07-25高并发场景下,布隆过滤器+缓存基本步骤
    在高并发场景下,布隆过滤器与缓存的结合使用可以显著提升系统的响应速度和降低后端数据库的负载。以下是布隆过滤器与缓存(如Redis)结合使用的一般配置步骤和原理:1.原理布隆过滤器作为预检查:在查询缓存或数据库之前,先使用布隆过滤器检查请求的键是否可能存在于缓存或数据库中