Skip to content

logo

RedisBloom: Probabilistic Data Structures for Redis

Forum Discord

The RedisBloom module provides four data structures: a scalable Bloom filter , a cuckoo filter , a count-min sketch , and a top-k . These data structures trade perfect accuracy for extreme memory efficiency, so they're especially useful for big data and streaming applications.

Bloom and cuckoo filters are used to determine, with a high degree of certainty, whether an element is a member of a set.

A count-min sketch is generally used to determine the frequency of events in a stream. You can query the count-min sketch get an estimate of the frequency of any given event.

A top-k maintains a list of k most frequently seen items.

Quick start guide

  1. Quick Start
  2. Command references
  3. Client libraries
  4. References
  5. License

Command references

Detailed command references for each data structure:

Bloom vs. Cuckoo

Bloom filters typically exhibit better performance and scalability when inserting items (so if you're often adding items to your dataset, then a Bloom filter may be ideal). Cuckoo filters are quicker on check operations and also allow deletions.

Client libraries

See each driver's README for details and documentation.

Project Language License Author URL
redisbloom-py Python BSD Redis Labs GitHub
JReBloom Java BSD Redis Labs GitHub
redisbloom-go Python BSD Redis Labs GitHub
rebloom JavaScript MIT Albert Team GitHub
phpredis-bloom PHP MIT Rafa Campoy GitHub
phpRebloom PHP MIT Alessandro Balasco GitHub
redis-modules-sdk TypeScript BSD-3-Clause Dani Tseitlin GitHub

References

Webinars

  1. Probabilistic Data Structures - The most useful thing in Redis you probably aren't using

Blog posts

  1. RedisBloom Quick Start Tutorial
  2. Developing with Bloom Filters
  3. RedisBloom on Redis Enterprise
  4. Probably and No: Redis, RedisBloom, and Bloom Filters
  5. RedisBloom – Bloom Filter Datatype for Redis

Mailing List / Forum

Got questions? Feel free to ask at the RedisBloom forum .

License

RedisBloom is licensed under the Redis Source Available License Agreement