All Projects → RedisBloom → Redisbloom

RedisBloom / Redisbloom

Licence: other
Probabilistic Datatypes Module for Redis

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Redisbloom

Redis Cuckoofilter
Hashing-function agnostic Cuckoo filters for Redis
Stars: ✭ 158 (-81.59%)
Mutual labels:  bloom-filter, redis
Jredisbloom
Java Client for RedisBloom probabilistic module
Stars: ✭ 108 (-87.41%)
Mutual labels:  bloom-filter, redis
Springmvc Project
开箱即用的SpringMVC项目,包含常规业务所需的框架功能整合,更多功能请关注 https://github.com/MartinDai/SpringBoot-Project
Stars: ✭ 33 (-96.15%)
Mutual labels:  bloom-filter, redis
Redis Lua Scaling Bloom Filter
LUA Redis scripts for a scaling bloom filter
Stars: ✭ 268 (-68.76%)
Mutual labels:  bloom-filter, redis
Re Verb
speaker diarization system using an LSTM
Stars: ✭ 27 (-96.85%)
Mutual labels:  redis
Redis Stream Demo
Demo for Redis Streams
Stars: ✭ 24 (-97.2%)
Mutual labels:  redis
Fennel
A task queue library for Python and Redis
Stars: ✭ 24 (-97.2%)
Mutual labels:  redis
Online Bookstore
📓网上书店,SSM 架构练手项目。Shiro 做权限管理,Redis 做书籍缓存,ActiveMQ 做异步交易,Lucene 做全文搜索
Stars: ✭ 23 (-97.32%)
Mutual labels:  redis
Predis
A flexible and feature-complete Redis client for PHP.
Stars: ✭ 6,966 (+711.89%)
Mutual labels:  redis
Springbootunity
rabbitmq、redis、scheduled、socket、mongodb、Swagger2、spring data jpa、Thymeleaf、freemarker etc. (muti module spring boot project) (with spring boot framework,different bussiness scence with different technology。)
Stars: ✭ 845 (-1.52%)
Mutual labels:  redis
Perfect Redis
A Swift client for Redis.
Stars: ✭ 26 (-96.97%)
Mutual labels:  redis
Blog
my blog, using markdown
Stars: ✭ 25 (-97.09%)
Mutual labels:  redis
Jobqueue Redis
A job queue backend for the Flow framework, based on Redis
Stars: ✭ 7 (-99.18%)
Mutual labels:  redis
Doramon
常见工具汇总:一键式生成整个前后端工具,单机高性能幂等工具,zookeeper客户端工具,分布式全局id生成器,一致性哈希工具,Bitmap工具,布隆过滤器参数生成器,Yaml和properties互转工具等等
Stars: ✭ 24 (-97.2%)
Mutual labels:  bloom-filter
Walrus
Lightweight Python utilities for working with Redis
Stars: ✭ 846 (-1.4%)
Mutual labels:  redis
Sseredis
Redis Streams and PubSub to Server-Sent Event bridge in Go
Stars: ✭ 23 (-97.32%)
Mutual labels:  redis
Twjitm
项目基于idea工作环境搭建的框架,添加mybatis3,spring4,springmvc4,以及redis。主要实现通过注解和反射自定义netty私有协议栈,实现在一条socket通道上传递不同的消息,采用支持tcp,udp和http协议
Stars: ✭ 26 (-96.97%)
Mutual labels:  redis
Puppet Redis cluster
Install multiple redis instances via Puppet to configure a cluster with redis-trib.rb (for Redis version >= 3.0)
Stars: ✭ 8 (-99.07%)
Mutual labels:  redis
Php Interview
PHP后端开发面试指南。
Stars: ✭ 26 (-96.97%)
Mutual labels:  redis
Redis Py Cluster
Python cluster client for the official redis cluster. Redis 3.0+.
Stars: ✭ 934 (+8.86%)
Mutual labels:  redis

GitHub issues CircleCI Docker Cloud Build Status codecov Total alerts

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. Launch RedisBloom with Docker
  2. Use RedisBloom with redis-cli

Note: You can also build and load the module yourself.

1. Launch RedisBloom with Docker

docker run -p 6379:6379 --name redis-redisbloom redislabs/rebloom:latest

2. Use RedisBloom with redis-cli

docker exec -it redis-redisbloom bash

# redis-cli
# 127.0.0.1:6379>

Create a new bloom filter by adding a new item:

# 127.0.0.1:6379> BF.ADD newFilter foo
(integer) 1

Find out whether an item exists in the filter:

# 127.0.0.1:6379> BF.EXISTS newFilter foo
(integer) 1

In this case, 1 means that the foo is most likely in the set represented by newFilter. But recall that false positives are possible with Bloom filters.

# 127.0.0.1:6379> BF.EXISTS newFilter bar
(integer) 0

A value 0 means that bar is definitely not in the set. Bloom filters do not allow for false negatives.

Building and Loading RedisBloom

To build RedisBloom, ensure you have the proper submodules, and afterwards run make in the project's directory.

git submodule update --init --recursive
make

If the build is successful, you'll have a shared library called redisbloom.so.

To load the library, pass its path to the loadmodule directive when starting redis-server:

$ redis-server --loadmodule /path/to/redisbloom.so

Client libraries

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

Documentation

Documentation and full command reference at redisbloom.io.

Mailing List / Forum

Got questions? Feel free to ask at the RedisBloom mailing list.

License

RedisBloom is licensed under the Redis Source Available License Agreement

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].