自己设计: 如果利用redis数组+链表+一个哈希函数,则最坏情况下会出现时间复杂度o(n)
原理:Bloom主要是靠M大小的数组,N个哈希函数。添加一个元素的时候,把这个元素给N个哈希函数,分别计算下,然后把计算出来的位置都标记为1。查询的时候,如果这些位置都是1,才能判断元素存在。时间复杂度是O(1),空间复杂度是O(n)
失误概率是根据M和N计算的,挑选一个自己可以接受的值
redis的布隆过滤器能存储多少数据?
它的存储使用的是string,string类型在redis占4个字节32位,而布隆是位存储,那么能够存储2^32,大约是42亿。