RedisBloom: Probabilistic Data Structures for Redis ¶
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 ¶
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 |
References ¶
Webinars ¶
Blog posts ¶
- RedisBloom Quick Start Tutorial
- Developing with Bloom Filters
- RedisBloom on Redis Enterprise
- Probably and No: Redis, RedisBloom, and Bloom Filters
- 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