1.缓存穿透 概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。 解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤;访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。 2.缓存雪崩 概念大量的k ...
分类:
其他好文 时间:
2019-11-23 23:58:19
阅读次数:
120
使用JDK自带的Set集合来进行URL去重,看上去效果不错,但是这种做法有一个致命了缺陷,就是随着采集的URL增多,你需要的内存越来越大,最终会导致你的内存崩溃。那我们在不使用数据库的情况下有没有解决办法呢?布隆过滤器!它就可以完美解决这个问题,布隆过滤器有什么特殊的地方呢?接下来就一起来学习一下布隆过滤器。什么是布隆过滤器布隆过滤器是一种数据结构,比较巧妙的概率型数据结构,它是在1970年由一个
分类:
其他好文 时间:
2019-11-13 19:19:08
阅读次数:
100
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我, 数据结构与算法应该要学习到哪个程度呢? ,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是 零 ...
分类:
编程语言 时间:
2019-11-07 11:24:10
阅读次数:
91
布隆过滤器是什么? 布隆过滤器可以理解为一个不怎么精确的 set 结构,当你使用它的 contains 方法判断某个对象是否存在时,它可能会误判。但是布隆过滤器也不是特别不精确,只要参数设置的合理,它的精确度可以控制的相对足够精确,只会有小小的误判概率 布隆过滤器基本使用 布隆过滤器有二个基本指令, ...
分类:
其他好文 时间:
2019-10-26 01:43:16
阅读次数:
109
最近看流式系统的时候有提到Exactly Once 策略 可以使用布隆过滤器(Bloom Filter) 优化, 所以今天来整理一下与其相关的知识 (非科班, 底子比较薄)。 应用原理: Bloom Filter can return false positives but never false ...
分类:
其他好文 时间:
2019-10-18 22:09:13
阅读次数:
99
一个由1亿个数组成的集合M,数的范围从1~10亿 新来一个数n,如何快速且省内存地判断是否存在M中? 方法一: 将集合M的数用散列表保存,然后对数n判断是否在散列表中即可 消耗内存:假设一个数用4字节保存,1亿个数至少要381M内存,不过由于实际上由于有装载因子,散列冲突解决等,实际内存远远不止38 ...
分类:
其他好文 时间:
2019-10-18 18:49:30
阅读次数:
84
SQL查询语句 视图 索引 性能 四大范式+BFN范式 OLAP OLTP 写放大,读放大,磁盘放大 levelDB LSM树 缓存跳表 快照功能 immutable table 布隆过滤器 RocksDB column-familyMultithread compaction Single del ...
分类:
数据库 时间:
2019-10-18 12:26:05
阅读次数:
105
(1)Bloomfilter在Hbase中的作用 Hbase利用Bloomfilter来提高随机读(get)的性能,对于顺序读(scan)而言,设置Bloomfilter是没有作用的(0.92版本以后,如果设置了bloomfilter为rowcol,对于执行了qualifier的scan有一定的优化 ...
分类:
其他好文 时间:
2019-10-10 17:28:00
阅读次数:
145
布隆算法最详解 本文源地址: http://www.fullstackyang.com/...,转发请注明该地址或segmentfault地址,谢谢! 1. 背景知识 在网上已经有很多关于布隆过滤器的介绍了,这里就不再赘述,下面简单地提炼几个要点: 1. 布隆过滤器是用来判断一个元素是否出现在给定集 ...
分类:
编程语言 时间:
2019-10-08 18:39:27
阅读次数:
123
https://learnblockchain.cn/2019/04/30/bloom_filter/ 可以理解为 对内容做多次摘要,把内容换成更小体积的标识位来存放。 要判断一个元素是不是在一个集合里,比较容易想到的方法是用数组,链表这样的数据结构把元素保存起来,然后依次比较来确定。 但是随着集合 ...
分类:
其他好文 时间:
2019-10-05 00:48:39
阅读次数:
97