A Java Client Library for RedisBloom
This project contains a Java library abstracting the API of the RedisBloom Redis module, that implements a high performance bloom filter with an easy-to-use API
See http://redisbloom.io for installation instructions of the module.
<dependencies>
<dependency>
<groupId>com.redislabs</groupId>
<artifactId>jrebloom</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>snapshots-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>
and
<dependencies>
<dependency>
<groupId>com.redislabs</groupId>
<artifactId>jrebloom</artifactId>
<version>2.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
Initializing the client:
import io.rebloom.client.Client
Client client = new Client("localhost", 6378);
Adding items to a bloom filter (created using default settings):
client.add("simpleBloom", "Mark");
// Does "Mark" now exist?
client.exists("simpleBloom", "Mark"); // true
client.exists("simpleBloom", "Farnsworth"); // False
Use multi-methods to add/check multiple items at once:
client.addMulti("simpleBloom", "foo", "bar", "baz", "bat", "bag");
// Check if they exist:
boolean[] rv = client.existsMulti("simpleBloom", "foo", "bar", "baz", "bat", "mark", "nonexist");
Reserve a customized bloom filter:
client.createFilter("specialBloom", 10000, 0.0001);
client.add("specialBloom", "foo");
Use cluster client to call redis cluster Initializing the cluster client:
Set<HostAndPort> jedisClusterNodes = new HashSet<>();
jedisClusterNodes.add(new HostAndPort("localhost", 7000));
ClusterClient cclient = new ClusterClient(jedisClusterNodes);
Adding items to a bloom filter (created using default settings):
cclient.add("simpleBloom", "Mark");
// Does "Mark" now exist?
cclient.exists("simpleBloom", "Mark"); // true
cclient.exists("simpleBloom", "Farnsworth"); // False
all method of ClusterClient is same to Client.