谈起Redis的用途,小伙伴们都会说使用它作为缓存,目前很多公司都用Redis作为缓存,但是使用Redis仅仅作为缓存未免太大材小用了。深究Redis的原理后你会发现它有很多用途,在很多场景下能够使用它快速地解决问题。常见的用途有:分布式锁控制并发、结合bloom filter用于推荐去重、Hype ...
分类:
其他好文 时间:
2018-11-29 19:51:48
阅读次数:
227
简介: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 基本思想: 如果想要判断一个元素是不是在 ...
分类:
其他好文 时间:
2018-11-25 20:04:32
阅读次数:
143
布隆过滤器详解:原文链接:http://www.cnblogs.com/allensun/archive/2011/02/16/1956532.html 布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出,它是一种space efficient的概率型 ...
分类:
其他好文 时间:
2018-11-08 18:18:19
阅读次数:
178
缓存穿透,即黑客故意去请求缓存中不存在的数据,导致所有的请求都怼到数据库上,从而数据库连接异常。 布隆过滤器:布隆过滤器(Bloom Filter)是一种节省空间的概率数据结构,由Burton Howard Bloom在1970年提出,用来测试一个元素是否在一个集合里。有可能”误报“,但肯定不会”错 ...
分类:
其他好文 时间:
2018-11-06 11:59:28
阅读次数:
106
1,将所有访问过的url保存在数据库中 2,将访问过的url保存在内存中,只需要o(1)代价就可以查询url 1000000000*2byte*50个字符/1024/1024/1024≈9G 3,url经过md5等方法哈希后保存到内存中 (scrapy用的方法) 4,用bitmap方法,将访问过的u ...
分类:
其他好文 时间:
2018-11-02 02:00:48
阅读次数:
207
Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否可能属于这个集合。 它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 初始状态时,Bloom Filter是一个包含m位的位数组,每一位都置为0。 对于 ...
分类:
其他好文 时间:
2018-10-31 12:39:17
阅读次数:
146
1、Kubectx kubectx是一个在多集群和多命名空间的时候使用的非常好用的工具,kubectx与kubens绑定,kubectx用来在集群之间切换,kubens用来切换namespace。 直接输入kubens会打印出当前集群的所有namespace,需要切换到那个namespace,直接跟 ...
分类:
其他好文 时间:
2018-10-30 10:20:55
阅读次数:
1168
1、案例1题目:(大数据加位运算) 、 2、分析: 3、布隆过滤器: bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。 和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。 ...
分类:
编程语言 时间:
2018-09-04 20:50:44
阅读次数:
189
参考: http://taobaofed.org/blog/2017/07/05/leveldb-analysis/ 和leveldb源码(block.cc的Seek函数)。 leveldb的key、value是放在一起的,可以scan,但不会直接搜索的,而和搜索相关的是,bloom filter和 ...
分类:
数据库 时间:
2018-09-04 01:43:34
阅读次数:
174
1. 海量数据处理常用数据结构 【Bloom Filter】 【Bit map】 【Hash】 【Trie】 【堆】 2. 面试题剖析 海量数据面试题的常见考点,无非就是两个,一是数据太大,无法一次性装入内存;二是数据量太大,无法单机快速处理 参考资料 https://blog.csdn.net/v ...
分类:
编程语言 时间:
2018-08-19 14:04:41
阅读次数:
179