Node / Redis Bloom filters

This is part 19 of my Node / Redis series. The previous part was Uploading and serving images from Redis with Node.js.

A few months ago, I became obsessed with Bloom filters. My ever-suffering wife had to listen to me talk Bloom filters for days:

Me: Honey, it’s amazing — it’s like it holds more than it’s capacity!
Her: That’s great.


Me: Imagine every TV episode you’ve ever watched in a Bloom filter. You could tell what’s new-to-you, and, to a degree of certainty, if you seen an episode before.
Her: Isn’t that the same thing?
Me: No! See, it’s all about 1’s / 0’s, and the bits of the hash function could collid — 
Her: That’s great.

A few days after…

Me: So, imagine if I could give you this box. You don’t know what is in the box, but you know what isn’t in the box.
Her: What kind of box?
Me: A data box.
Her: Yeah, yeah. Bloom filter. That’s great.

I had, evidently, reached her saturation point with Bloom filters. So, I had to write an article about it — you can check it out over on Tuts+: Understanding the Magic of Bloom Filters With Node.js & Redis.