一、布隆过滤器 1、维基百科 布隆过滤器(Bloom Filter)是1970年由布隆提出的。 实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。 优点是不需要存储 key,节省空间,空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除 ...
分类:
其他好文 时间:
2019-08-18 21:40:20
阅读次数:
103
大数据与空间限制问题 statement:本篇文字是看书(最后有介绍)的总结,仅限于想法,没有代码实现。 1. 布隆过滤器:100亿个黑名单网页,使用额外空间不超过30GB,允许万分之一失误率。 常见于建立黑名单时过滤使用。使用多个(就k吧)相互独立的优秀的hash函数,创建一个m个bit的数组,先 ...
分类:
其他好文 时间:
2019-08-15 15:50:51
阅读次数:
74
布隆过滤器 Bloom Filter 过滤器的作用:判断元素在还是不在。(如图查询 w 在不在集合中) 布隆过滤器:?个很长的二进制向量和一系列随机映射函数。 布隆过滤?可以用于检索一个元素是否在?个集合中(如果检测出元素不在集合中,那一定不在;如果检测出元素在集合中,有一定可能判断错误)。 它的优 ...
分类:
其他好文 时间:
2019-08-13 00:31:18
阅读次数:
87
数据过滤在很多场景都会应用到,特别是在大数据环境下。在数据量很大的场景实现过滤或者全局去重,需要存储的数据量和计算代价是非常庞大的。很多小伙伴第一念头肯定会想到布隆过滤器,有一定的精度损失,但是存储性能和计算性能可以达到几何级别的提升。很多第三方框架也实现了相应的功能,比如hbase框架实现的布隆过 ...
分类:
其他好文 时间:
2019-06-30 14:02:23
阅读次数:
134
题目描述 一个网站有 100 亿 url 存在一个黑名单中,每条 url 平均 64 字节。这个黑名单要怎么存?若此时随便输入一个 url, 你如何快速判断该 url 是否在这个黑名单中 ? 题目解析 这是一道经常在面试中出现的算法题。凭借着题目极其容易描述,电面的时候也出现过。 不考虑细节的话,此 ...
分类:
Web程序 时间:
2019-06-30 14:01:37
阅读次数:
482
1.什么是缓存击穿 一般是指,通过高并发一些无效的数据访问你的数据库,缓存没有,直接访问你的数据库,大量恶意的攻击,造成数据库的查询变慢; 2,有效解决办法, 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一 ...
分类:
其他好文 时间:
2019-06-16 00:28:09
阅读次数:
154
前言 redis在4.0版本以后可通过插件的形式添加布隆过滤器,以下为具体操作。 操作 在下载最新的release源码,在编译服务器进行解压编译: tar zxvf RedisBloom 1.1.1.tar.gz cd RedisBloom 1.1.1 make 得到动态库rebloom.so 启动 ...
分类:
其他好文 时间:
2019-05-24 15:43:31
阅读次数:
456
1、缓存穿透 多次访问一个不存在的key,会导致每次都去请求数据库,增加数据库负担 解决方法:1、对于请求数据库后仍然不存在的key设置为缓存,value中放null值,并设置一个缓存的失效时间,缓存有效时间可以设置短点,这样就不会多次请求数据库了,第二次就会直接返回null 2、采用布隆过滤器,使 ...
分类:
其他好文 时间:
2019-04-22 13:56:15
阅读次数:
165
1 什么是布隆过滤器 本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”,或者说“判断一个元素是否存在一个集合中”,比如: 字处理软件中,需要检查一个英语单词 ...
分类:
其他好文 时间:
2019-04-20 17:03:13
阅读次数:
322
布隆过滤器 布隆过滤器(Bloom Filter)是一种概率空间高效的数据结构。它与hashmap非常相似,用于检索一个元素是否在一个集合中。它在检索元素是否存在时,能很好地取舍空间使用率与误报比例。正是由于这个特性,它被称作概率性数据结构(probabilistic data structure) ...
分类:
其他好文 时间:
2019-03-28 09:59:54
阅读次数:
167