标签:red bloom java 数组 方法 不同 ack 实现 blog
布隆过滤器redis缓存
https://www.cnblogs.com/zhanggguoqi/p/10571225.html
布隆过滤器(bloom filter)介绍以及php和redis实现布隆过滤器实现方法
借助Redis Bitmap实现简单的布隆过滤器
https://www.jianshu.com/p/c2defe549b40
作用:判断一个元素是否在集合中。
异点:和java中的collection中的contain有很大的不同,
java中一般都是会,先把元素存储起来,但是布隆过滤器不用存储元素
原理:每个元素,通过k中不同的hash算法,计算出k个不同的index,把这个index存储位置都设置为1,
(二进制序列的index)
如果一个一个元素计算出所有index上都为1,则存在;一遇到index为0的,元素就不存在。
感觉:有点好玩,有点不可思议,有点不相信。
特点:判断不存在的,肯定不存在;判断存在的,可能是误判。
(为什么会误判呢?参考文章中说,二进制序列中1越来越多的时候,就会把不存在的元素,判断成存在)
(那么,我觉得是不是可以,定时重新更新序列呢!从而减少误判情况)
Guava中BloomFilterStrategies实现了布隆过滤器
上面那篇redis实现布隆过滤器的思路:
标签:red bloom java 数组 方法 不同 ack 实现 blog
原文地址:https://www.cnblogs.com/windy13/p/12638177.html