Jedis guide (Java)
Connect your Java application to a Redis database
Jedis is a synchronous Java client for Redis.
Use Lettuce if you need
a more advanced Java client that also supports asynchronous and reactive connections.
The sections below explain how to install Jedis and connect your application
to a Redis database.
Jedis 7.2.0 introduced a new client connection API:
| New API class | Replaces | Use case |
|---|---|---|
RedisClient |
UnifiedJedis, JedisPool, JedisPooled |
Single connection (with connection pooling) |
RedisClusterClient |
JedisCluster |
Redis Cluster connections |
RedisSentinelClient |
JedisSentinelPool |
Redis Sentinel connections |
The old client classes are now considered deprecated.
Jedis requires a running Redis server. See here for Redis Open Source installation instructions.
Install
To include Jedis as a dependency in your application, edit the dependency file, as follows.
-
If you use Maven:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>7.2.0</version> </dependency> -
If you use Gradle:
repositories { mavenCentral() } //... dependencies { implementation 'redis.clients:jedis:7.2.0' //... } -
If you use the JAR files, download the latest Jedis and Apache Commons Pool2 JAR files from Maven Central or any other Maven repository.
-
Build from source
Connect and test
Add the following imports to your source file:
importredis.clients.jedis.RedisClient;importjava.util.HashMap;importjava.util.Map;Connect to localhost on port 6379:
RedisClientjedis=newRedisClient("redis://localhost:6379");After you have connected, you can check the connection by storing and retrieving a simple string value:
Stringres1=jedis.set("bike:1","Deimos");System.out.println(res1);// >>> OKStringres2=jedis.get("bike:1");System.out.println(res2);// >>> DeimosStore and retrieve a hash:
Map<String,String>hash=newHashMap<>();hash.put("name","John");hash.put("surname","Smith");hash.put("company","Redis");hash.put("age","29");Longres3=jedis.hset("user-session:123",hash);System.out.println(res3);// >>> 4Map<String,String>res4=jedis.hgetAll("user-session:123");System.out.println(res4);// >>> {name=John, surname=Smith, company=Redis, age=29}Close the connection when you're done:
jedis.close();More information
Jedis has a complete API reference available on javadoc.io/.
The Jedis GitHub repository also has useful docs
and examples including a page about handling
failover with Jedis
See also the other pages in this section for more information and examples:
