{"id":15345296,"url":"https://github.com/dengliming/redis-modules-java","last_synced_at":"2025-07-25T02:07:15.920Z","repository":{"id":39872855,"uuid":"254688581","full_name":"dengliming/redis-modules-java","owner":"dengliming","description":"Java client libraries for redis-modules https://redis.io/modules, based on Redisson. https://github.com/redisson/redisson","archived":false,"fork":false,"pushed_at":"2024-10-14T14:02:40.000Z","size":28553,"stargazers_count":84,"open_issues_count":4,"forks_count":26,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-17T16:07:05.952Z","etag":null,"topics":["java-client","redis","redis-ai","redis-client","redis-modules","redis-search","redisai","redisbloom","redisgears","redisgraph","redisjson","redisson","redistimeseries","timeseries"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dengliming.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-10T16:56:15.000Z","updated_at":"2025-03-31T00:35:30.000Z","dependencies_parsed_at":"2024-05-03T16:42:52.836Z","dependency_job_id":"5e15d35e-b439-4779-bf1d-0e60a9ea4e25","html_url":"https://github.com/dengliming/redis-modules-java","commit_stats":{"total_commits":178,"total_committers":9,"mean_commits":19.77777777777778,"dds":0.0786516853932584,"last_synced_commit":"35d69e0cebf9ec06412ef45d792c18dd7d37007f"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/dengliming/redis-modules-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dengliming%2Fredis-modules-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dengliming%2Fredis-modules-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dengliming%2Fredis-modules-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dengliming%2Fredis-modules-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dengliming","download_url":"https://codeload.github.com/dengliming/redis-modules-java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dengliming%2Fredis-modules-java/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265942581,"owners_count":23853294,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java-client","redis","redis-ai","redis-client","redis-modules","redis-search","redisai","redisbloom","redisgears","redisgraph","redisjson","redisson","redistimeseries","timeseries"],"created_at":"2024-10-01T11:11:59.739Z","updated_at":"2025-07-25T02:07:15.870Z","avatar_url":"https://github.com/dengliming.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![build](https://github.com/dengliming/redis-modules-java/workflows/build/badge.svg) ![java-version](https://img.shields.io/badge/JDK-1.8+-brightgreen.svg) [![Maven Central](https://img.shields.io/maven-central/v/io.github.dengliming.redismodule/redis-modules-java.svg?label=maven-central)](https://central.sonatype.com/artifact/io.github.dengliming.redismodule/redis-modules-java) [![license](https://img.shields.io/github/license/dengliming/redis-modules-java)](/LICENSE) [![codecov](https://codecov.io/gh/dengliming/redis-modules-java/branch/master/graph/badge.svg?token=U8BA091JD5)](https://codecov.io/gh/dengliming/redis-modules-java)\n\n\nJava Client libraries for [redis-modules](https://redis.io/modules), based on [Redisson](https://github.com/redisson/redisson).\n\n## Support\n* [RedisBloom](redisbloom) \n* [RediSearch](redisearch)\n* [RedisTimeSeries](redistimeseries)\n* [RedisAI](redisai)\n* [RedisGears](redisgears)\n* [RedisJSON](redisjson)\n* [RedisGraph](redisgraph)\n\n## TODO\n* [RediSQL](https://redisql.com/)\n* [...](https://redis.io/modules)\n \n## Installing\n\n#### Build from source\nExecute `./mvnw clean install -DskipTests=true -Dgpg.skip`. The build process requires `JDK8+`.\n\n#### Maven repository\nInclude all\n```xml\n\u003c!-- release --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.dengliming.redismodule\u003c/groupId\u003e\n    \u003cartifactId\u003eall\u003c/artifactId\u003e\n    \u003cversion\u003e2.0.4\u003c/version\u003e\n\u003c/dependency\u003e\n```\nInclude single module like:\n```xml\n\u003c!-- release --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.dengliming.redismodule\u003c/groupId\u003e\n    \u003cartifactId\u003eredistimeseries\u003c/artifactId\u003e\n    \u003cversion\u003e2.0.4\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Usage example\nRedisBloom\n```java\nConfig config = new Config();\nconfig.useSingleServer().setAddress(\"redis://127.0.0.1:6379\");\nRedisBloomClient redisBloomClient = new RedisBloomClient(config);\n\nBloomFilter bloomFilter = redisBloomClient.getRBloomFilter(\"bf\");\nbloomFilter.create(0.1d, 100);\nbloomFilter.madd(new String[] {\"a\", \"b\", \"c\"});\n\nTopKFilter topKFilter = redisBloomClient.getTopKFilter(\"topk_add\");\ntopKFilter.reserve(1, 2000, 7, 0.925d);\ntopKFilter.add(\"test\");\nList\u003cBoolean\u003e itemExits = topKFilter.query(\"test\");\nMap\u003cString, Integer\u003e itemIncrement = new HashMap\u003c\u003e();\nitemIncrement.put(\"test\", 3);\ntopKFilter.incrby(itemIncrement);\nList\u003cString\u003e allItems = topKFilter.list();\n\nCountMinSketch countMinSketch = redisBloomClient.getCountMinSketch(\"cms_add\");\ncountMinSketch.create(10, 10);\nCountMinSketchInfo countMinSketchInfo = countMinSketch.getInfo();\n\nCuckooFilter cuckooFilter = redisBloomClient.getCuckooFilter(\"cf_insert\");\nList\u003cBoolean\u003e result = cuckooFilter.insert(-1L, false, \"a\");\n\nredisBloomClient.shutdown();\n```\n\nRediSearch\n```java\nConfig config = new Config();\nconfig.useSingleServer().setAddress(\"redis://\" + DEFAULT_HOST + \":\" + DEFAULT_PORT);\nRediSearchClient rediSearchClient = new RediSearchClient(config);\n\nRediSearch rediSearch = rediSearchClient.getRediSearch(\"testSearch\");\nrediSearch.createIndex(new Schema()\n    .addField(new TextField(\"title\"))\n    .addField(new TextField(\"content\"))\n    .addField(new Field(\"age\", FieldType.NUMERIC))\n    .addField(new Field(\"location\", FieldType.GEO)));\n\nMap\u003cString, Object\u003e fields = new HashMap\u003c\u003e();\nfields.put(\"title\", \"Hi\");\nfields.put(\"content\", \"OOOO\");\nrediSearch.addDocument(new Document(String.format(\"doc1\"), 1.0d, fields), new DocumentOptions());\n\n// Search with NumericFilter\nSearchResult searchResult = rediSearch.search(\"number\", new SearchOptions()\n                .noStopwords()\n                .language(RSLanguage.ENGLISH)\n                .filter(new NumericFilter(\"age\", 1, 4)));\n\n// Search with GeoFilter\nsearchResult = rediSearch.search(\"number\", new SearchOptions()\n                .noStopwords()\n                .language(RSLanguage.ENGLISH)\n                .filter(new GeoFilter(\"location\", 15, 37, 200, GeoFilter.Unit.KILOMETERS)));\n```\n\nRedisTimeSeries\n```java\nConfig config = new Config();\nconfig.useSingleServer().setAddress(\"redis://192.168.50.16:6383\");\nRedisTimeSeriesClient redisTimeSeriesClient = new RedisTimeSeriesClient(config);\n\nRedisTimeSeries redisTimeSeries = redisTimeSeriesClient.getRedisTimeSeries();\nlong timestamp = System.currentTimeMillis();\nredisTimeSeries.add(new Sample(\"temperature:2:32\", Sample.Value.of(timestamp, 26)), new TimeSeriesOptions()\n                .retentionTime(6000L)\n                .unCompressed()\n                .labels(new Label(\"sensor_id\", \"2\"), new Label(\"area_id\", \"32\")));\nredisTimeSeriesClient.shutdown();\n```\n\nRedisAI\n```java\nConfig config = new Config();\nconfig.useSingleServer().setAddress(\"redis://127.0.0.1:6379\");\nRedisAIClient redisAIClient = new RedisAIClient(config);\n\nRedisAI redisAI = redisAIClient.getRedisAI();\nredisAI.setTensor(\"tensor1\", DataType.FLOAT, new int[]{2, 2}, null, new String[]{\"1\", \"2\", \"3\", \"4\"});\nredisAIClient.shutdown();\n```\n\nRedisGears\n```java\nConfig config = new Config();\nconfig.useSingleServer().setAddress(\"redis://127.0.0.1:6379\");\nRedisGearsClient redisGearsClient = new RedisGearsClient(config);\n\nRedisGears redisGears = redisGearsClient.getRedisGears();\nredisGears.pyExecute(\"GB().run()\", false);\nredisGearsClient.shutdown();\n```\n\nRedisJSON\n```java\nConfig config = new Config();\nconfig.useSingleServer().setAddress(\"redis://127.0.0.1:6379\");\nRedisJSONClient redisJSONClient = new RedisJSONClient(config);\n\nRedisJSON redisJSON = redisJSONClient.getRedisJSON();\nString key = \"foo\";\nMap\u003cString, Object\u003e m = new HashMap\u003c\u003e();\nm.put(\"id\", 1);\nm.put(\"name\", \"lisi\");\nredisJSON.set(key, SetArgs.Builder.create(\".\", GsonUtils.toJson(m)));\nMap\u003cString, Object\u003e actual = redisJSON.get(key, Map.class, new GetArgs().path(\".\").indent(\"\\t\").newLine(\"\\n\").space(\" \"));\nredisJSONClient.shutdown();\n```\n\nSpringBoot Starter\n\nsee [spring-boot-starter](./spring-boot-starter)\n\n## License\n\n[Apache License 2.0](/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdengliming%2Fredis-modules-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdengliming%2Fredis-modules-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdengliming%2Fredis-modules-java/lists"}