All Projects → dengliming → redis-modules-java

dengliming / redis-modules-java

Licence: Apache-2.0 License
Java client libraries for redis-modules https://redis.io/modules, based on Redisson. https://github.com/redisson/redisson

Programming Languages

java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to redis-modules-java

redis-modules-sdk-ts
A Software development kit for easier connection and execution of Redis Modules commands.
Stars: ✭ 152 (+166.67%)
Mutual labels:  redisjson, redisbloom, redistimeseries, redisgears
redisplanet
Redisplanet - An Ultimate Hands-on Labs on Redis
Stars: ✭ 24 (-57.89%)
Mutual labels:  redisai, redisbloom, redistimeseries
racompass
An advanced GUI for Redis. Modern. Efficient. Fast. A faster and robust Redis management tool. For developers that need to manage data with confidence.It supports Redis modules now!
Stars: ✭ 26 (-54.39%)
Mutual labels:  redis-client, redis-search, redis-ai
JRediSearch
Java Client for RediSearch
Stars: ✭ 133 (+133.33%)
Mutual labels:  java-client, redis-client, redis-search
redisai-go
A Golang client for RedisAI
Stars: ✭ 23 (-59.65%)
Mutual labels:  redisai, redis-ai
redistimeseries-py
RedisTimeSeries python client
Stars: ✭ 95 (+66.67%)
Mutual labels:  timeseries, redis-client
AnimalRecognitionDemo
An example of using Redis Streams, RedisGears and RedisAI for Realtime Video Analytics (i.e. filtering cats)
Stars: ✭ 35 (-38.6%)
Mutual labels:  redisai, redisgears
redisbloom-go
Go Client for RedisBloom probabilistic module
Stars: ✭ 74 (+29.82%)
Mutual labels:  redis-client, redisbloom
SmartRedis
SmartSim Infrastructure Library Clients.
Stars: ✭ 37 (-35.09%)
Mutual labels:  redis-client, redisai
JRedisTimeSeries
Java Client for RedisTimeSeries
Stars: ✭ 29 (-49.12%)
Mutual labels:  timeseries, java-client
java-redis-client
OpenTracing Instrumentation for Redis Client
Stars: ✭ 31 (-45.61%)
Mutual labels:  redis-client, redisson
redis-developer.github.io
The Home of Redis Developers
Stars: ✭ 28 (-50.88%)
Mutual labels:  redis-client, redistimeseries
kong-java-client
Java Client for Kong API Gateway configuration
Stars: ✭ 69 (+21.05%)
Mutual labels:  java-client
arima
ARIMA, SARIMA, SARIMAX and AutoARIMA models for time series analysis and forecasting in the browser and Node.js
Stars: ✭ 31 (-45.61%)
Mutual labels:  timeseries
WeihanLi.Redis
RedisExtensions for StackExchange.Redis, Cache/Redlock/Counter/RateLimiter/Rank/RedisEventBus
Stars: ✭ 46 (-19.3%)
Mutual labels:  redis-client
spring-redisearch
Provides support for RediSearch in Spring
Stars: ✭ 31 (-45.61%)
Mutual labels:  redis-client
ARCHModels.jl
A Julia package for estimating ARMA-GARCH models.
Stars: ✭ 63 (+10.53%)
Mutual labels:  timeseries
phpRedisTimeSeries
📈 Use Redis Time Series in PHP!
Stars: ✭ 23 (-59.65%)
Mutual labels:  timeseries
iotdb-client-go
Apache IoTDB Client for Go
Stars: ✭ 24 (-57.89%)
Mutual labels:  timeseries
pyts-repro
A repository to compare the performance between the algorithms implemented in pyts and the performance reported in the literature
Stars: ✭ 15 (-73.68%)
Mutual labels:  timeseries

build java-version Maven Central license codecov

Java Client libraries for redis-modules, based on Redisson.

Support

TODO

Installing

Build from source

Execute ./mvnw clean install -DskipTests=true -Dgpg.skip. The build process requires JDK8+.

Maven repository

Include all

<!-- release -->
<dependency>
    <groupId>io.github.dengliming.redismodule</groupId>
    <artifactId>all</artifactId>
    <version>2.0.0</version>
</dependency>

Include single module like:

<!-- release -->
<dependency>
    <groupId>io.github.dengliming.redismodule</groupId>
    <artifactId>redistimeseries</artifactId>
    <version>2.0.0</version>
</dependency>

Usage example

RedisBloom

Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
RedisBloomClient redisBloomClient = new RedisBloomClient(config);

BloomFilter bloomFilter = redisBloomClient.getRBloomFilter("bf");
bloomFilter.create(0.1d, 100);
bloomFilter.madd(new String[] {"a", "b", "c"});

TopKFilter topKFilter = redisBloomClient.getTopKFilter("topk_add");
topKFilter.reserve(1, 2000, 7, 0.925d);
topKFilter.add("test");
List<Boolean> itemExits = topKFilter.query("test");
Map<String, Integer> itemIncrement = new HashMap<>();
itemIncrement.put("test", 3);
topKFilter.incrby(itemIncrement);
List<String> allItems = topKFilter.list();

CountMinSketch countMinSketch = redisBloomClient.getCountMinSketch("cms_add");
countMinSketch.create(10, 10);
CountMinSketchInfo countMinSketchInfo = countMinSketch.getInfo();

CuckooFilter cuckooFilter = redisBloomClient.getCuckooFilter("cf_insert");
List<Boolean> result = cuckooFilter.insert(-1L, false, "a");

redisBloomClient.shutdown();

RediSearch

Config config = new Config();
config.useSingleServer().setAddress("redis://" + DEFAULT_HOST + ":" + DEFAULT_PORT);
RediSearchClient rediSearchClient = new RediSearchClient(config);

RediSearch rediSearch = rediSearchClient.getRediSearch("testSearch");
rediSearch.createIndex(new Schema()
    .addField(new TextField("title"))
    .addField(new TextField("content"))
    .addField(new Field("age", FieldType.NUMERIC))
    .addField(new Field("location", FieldType.GEO)));

Map<String, Object> fields = new HashMap<>();
fields.put("title", "Hi");
fields.put("content", "OOOO");
rediSearch.addDocument(new Document(String.format("doc1"), 1.0d, fields), new DocumentOptions());

// Search with NumericFilter
SearchResult searchResult = rediSearch.search("number", new SearchOptions()
                .noStopwords()
                .language(RSLanguage.ENGLISH)
                .filter(new NumericFilter("age", 1, 4)));

// Search with GeoFilter
searchResult = rediSearch.search("number", new SearchOptions()
                .noStopwords()
                .language(RSLanguage.ENGLISH)
                .filter(new GeoFilter("location", 15, 37, 200, GeoFilter.Unit.KILOMETERS)));

RedisTimeSeries

Config config = new Config();
config.useSingleServer().setAddress("redis://192.168.50.16:6383");
RedisTimeSeriesClient redisTimeSeriesClient = new RedisTimeSeriesClient(config);

RedisTimeSeries redisTimeSeries = redisTimeSeriesClient.getRedisTimeSeries();
long timestamp = System.currentTimeMillis();
redisTimeSeries.add(new Sample("temperature:2:32", Sample.Value.of(timestamp, 26)), new TimeSeriesOptions()
                .retentionTime(6000L)
                .unCompressed()
                .labels(new Label("sensor_id", "2"), new Label("area_id", "32")));
redisTimeSeriesClient.shutdown();

RedisAI

Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
RedisAIClient redisAIClient = new RedisAIClient(config);

RedisAI redisAI = redisAIClient.getRedisAI();
redisAI.setTensor("tensor1", DataType.FLOAT, new int[]{2, 2}, null, new String[]{"1", "2", "3", "4"});
redisAIClient.shutdown();

RedisGears

Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
RedisGearsClient redisGearsClient = new RedisGearsClient(config);

RedisGears redisGears = redisGearsClient.getRedisGears();
redisGears.pyExecute("GB().run()", false);
redisGearsClient.shutdown();

RedisJSON

Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
RedisJSONClient redisJSONClient = new RedisJSONClient(config);

RedisJSON redisJSON = redisJSONClient.getRedisJSON();
String key = "foo";
Map<String, Object> m = new HashMap<>();
m.put("id", 1);
m.put("name", "lisi");
redisJSON.set(key, SetArgs.Builder.create(".", GsonUtils.toJson(m)));
Map<String, Object> actual = redisJSON.get(key, Map.class, new GetArgs().path(".").indent("\t").newLine("\n").space(" "));
redisJSONClient.shutdown();

License

Apache License 2.0

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].