目录一、布隆过滤器BloomFilter1.1、面试题1.2、 布隆过滤器简介1.2.1、设计思想 1.3、特点 1.4、布隆过滤器原理 1.4.1、实现原理与数据结构  1.4.2、添加key、查询key 1.4.3、hash冲突导致数据不精准 1.4.4、三步骤 1.4.5、布隆过滤器误判,为什么不要删除            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-30 21:20:08
                            
                                152阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            原理用一个哈希算法(Hash函数)将一个集合元素映射到一个二进制位数组(位数组)中的某一位。如果该位已经被置为1,那么表示该元素已经存在。为了减少hash冲突问题,所以引用了多个哈希函数,如果通过其中的一个Hash值得出某元素不在集合中,那么该元素肯定不在集合中。只有在所有的Hash函数告诉我们该元素在集合中时,才能确定该元素存在于集合中。这便是Bloom-Filter的基本思想。这是BitMap            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-05 23:24:59
                            
                                85阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            布隆过滤器使用教程 文章目录布隆过滤器使用教程1.背景2.什么是Bitmap3.布隆过滤器3.1 什么是布隆过滤器3.2 布隆过滤器的作用3.3 布隆过滤器的基本原理4.布隆过滤器的实现Guava和Redisson4.1 实现思路4.2 SpringBoot实现这些操作Bitmap,guava,redisson布隆过滤器 1.背景最近公司对所有请求响应的数据进行推送kafka到大数据,然后落入数仓            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 03:36:56
                            
                                95阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一·简介       布隆过滤器(Bloom Filter)实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-05 12:24:55
                            
                                170阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、数学之美系列二十一 - 布隆过滤            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-06-06 17:05:04
                            
                                72阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            布隆过滤器(Bloom Filter),是一个很长的二进制向量和一系列随即映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中,它的空间效率和查询时间都远超一般的算法,但是有一定的误识别率和删除困难。原理当一个元素被加入到集合中时,通过k个散列函数将这个元素映射称一个位数组的k个点,把他们设置为1。检索时,我们只需要看 这些点是否都是1就知道集合中有没有了;如果这些点中有任何一个0,则被检索元            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-12 15:19:58
                            
                                167阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            原理布隆过滤器,英文BloomFilter,是一个时间复杂度和空间复杂度很低,并用来检测元素是否存在的一种数据结构。它本质上是一个位图,把元素通过多次的hash计算出来的值当作索引,如果索引对应的位图的二进制位为0,说明该元素不存在,如果都为1,该元素可能存在。“可能存在"我们称为布隆过滤器的误判率,这是由于hash冲突导致的。从这可以看出来,布隆过滤器适用与对大数据集进行去重、检验是否存在等场景            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-02 22:07:00
                            
                                329阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Bitmap 位图映射简单的来说Bitmap就是将数值作为数组的下标,数组的每个值的每一位(int正常在32位机上占4个字节,也即是可以32位)非0即1.如果某个数字存在的话就置为1。Bitmap的缺点:每个元素对应一个bit,这种映射的方法比较适合数字的查找,空间复杂度随着最大元素的增大而增加;优点是处理大量数据是可以大大减少空间的消耗,空间复杂度不随着原始集合内的元素个数增加而增加。Bitma            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-18 15:28:16
                            
                                152阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。实现原理hashMap的问题判断一个文件中是否存在某个元素,通常会            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-27 13:50:09
                            
                                70阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            总结:布隆过滤器会接收数据并使用几个哈希函数进行计算,计算后如果符合对应的结果,就会在01byte数组的对应索引位置上set值为1.当每个哈希函数对应的索引位置都为1是,放行,否则拦截.优缺点布隆过滤器的优点:时间复杂度低,增加和查询元素的时间复杂为O(N),(N为哈希函数的个数,通常情况比较小)保密性强,布隆过滤器不存储元素本身存储空间小,如果允许存在一定的误判,布隆过滤器是非常节省空间的(相比            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-15 11:20:01
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-13 21:49:29
                            
                                17阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录1. 布隆过滤器1.1 布隆过滤器设计思想1.2 布隆过滤器优缺点2. 布隆过滤器的实现2.1 Guava中的实现2.2 Redis的bitmap实现 1. 布隆过滤器1.1 布隆过滤器设计思想布隆过滤器(Bloom Filter,下文简称BF)是专门用来检测集合中是否存在特定元素的数据结构。它是由长度为m比特的位数组和k个哈希函数组成的数据结构。位数组均初始化为0,哈希函数可以将输入数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-20 10:35:59
                            
                                55阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            BitMap再再体验之布隆过滤器
前言还是从一个问题出发,如果需要判断一个元素是否存在应该用什么数据结构?比较常用的是HashMap, 我们回到BitMap初体验中的那个问题,给你一台 4G 内存的机器,一组 20 亿个元素(这个元素有可能是字符串,也有可能是一个对象),你怎么判断一个元素是否存在?这个时候我们就需要用到一种数据结构-布隆过滤器。实际中的业务场景:redis 的缓存穿透什么是布隆            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-31 16:36:44
                            
                                111阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            常见使用场景1、缓存击穿将已存在的缓存放到布隆中,当黑客访问不存在的缓存时迅速返回避免缓存及DB挂掉比如说:活动详情接口,我们可以缓存所有活动id,每一次调用活动详情接口时先通过布隆过滤器进行一次判断,通过后在查询活动详情的缓存。否则直接将此请求拦截。比如说:活动详情接口,我们可以缓存所有活动id,每一次调用活动详情接口时先通过布隆过滤器进行一次判断,通过后在查询活动详情的缓存。否则直接将此请求拦            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-05 23:25:27
                            
                                20阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录布隆过滤器是什么?基本概念Bloom Filter 的使用场景Bloom Filter 的缺点如何使用 Bloom Filter?Bloom Filter 的安装基本用法Jedis 如何使用 Bloom Filter缓存击穿场景 布隆过滤器是什么?布隆过滤器 (Bloom Filter) 是1970年由布隆提出的。它实际上是一个很长的二进制向量和一些里随机映射函数。布隆过滤器可以用来检索            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-21 14:48:51
                            
                                44阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言前面在说缓存穿透的时候说到解决方案的时候正好有提到布隆过滤器,正好现在就来说一说这个布隆过滤器是怎么一回事,在说布隆过滤器之前可能需要先说下位图算法位图位图(Bitmap),又称栅格图(英语:Raster graphics)或点阵图,是使用像素阵列(Pixel-array/Dot-matrix点阵)来表示的图像(摘自百度百科)。我们可以理解为是一个 bit 数组,每个元素存储数据的状态(由于每            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-12 15:20:13
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录前言一、什么是布隆过滤器(Bloom Filter)二、布隆过滤器的原理三、布隆过滤器的工作流程四、布隆过滤器的实际应用场景五、Java实现布隆过滤器5.1、Guava5.2、Redission5.3、Apache Commons5.4、Jedis前言        想必大家都知道布隆过滤器,它是为了预防黑客发起大量非法请求的一种手段,例如Redis的缓            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-04 18:40:05
                            
                                28阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            布隆过滤器是由一个很长的二进制向量和一系列随机映射函数组成。它可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误判。 布隆过滤器的原理:底层使用的是位图。当一个元素被加入集合时,通过 K 个 Hash 函数将这个元素映射成一个位阵列(Bit array)中的 K 个点,把它们置为 1。检索时,我们只要看看这些点是不是都是 1 就(大约)知道集合            
                
         
            
            
            
            为什么需要布隆过滤器想象一下遇到下面的场景你会如何处理:手机号是否重复注册用户是否参与过某秒杀活动伪造请求大量 id 查询不存在的记录,此时缓存未命中,如何避免缓存穿透针对以上问题常规做法是:查询数据库,数据库硬扛,如果压力并不大可以使用此方法,保持简单即可。改进做法:用 list/set/tree 维护一个元素集合,判断元素是否在集合内,时间复杂度或空间复杂度会比较高。如果是微服务的话可以用 r            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-23 21:09:19
                            
                                239阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一.介绍与原理  在我们开发过程中,避免不了经常使用到redis这个缓存中间件,尤其是在大并发访问量的时候,他的存在会让我们在对数据库操作时节省很大的性能。  然而当我们进行redis的使用时,难免不了会发生以下这三种redis搞崩数据库的情况:缓存击穿、缓存穿透、缓存雪崩。而在遇到这几种情况时,我们都要有对应的解决措施去防止他的发生。今天我要记录的就是redis m            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-05 23:23:56
                            
                                73阅读