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 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>6.1.0</version> </dependency>
- 
If you use Gradle: repositories { mavenCentral() } //... dependencies { implementation 'redis.clients:jedis:6.1.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:
import redis.clients.jedis.UnifiedJedis;
import java.util.HashMap;
import java.util.Map;
public class LandingExample {
    public void run() {
        UnifiedJedis jedis = new UnifiedJedis("redis://localhost:6379");
        String res1 = jedis.set("bike:1", "Deimos");
        System.out.println(res1); // >>> OK
        String res2 = jedis.get("bike:1");
        System.out.println(res2); // >>> Deimos
        Map<String, String> hash = new HashMap<>();
        hash.put("name", "John");
        hash.put("surname", "Smith");
        hash.put("company", "Redis");
        hash.put("age", "29");
        Long res3 = jedis.hset("user-session:123", hash);
        System.out.println(res3); // >>> 4
        Map<String, String> res4 = jedis.hgetAll("user-session:123");
        System.out.println(res4);
        // >>> {name=John, surname=Smith, company=Redis, age=29}
        jedis.close();
    }
}
Connect to localhost on port 6379:
import redis.clients.jedis.UnifiedJedis;
import java.util.HashMap;
import java.util.Map;
public class LandingExample {
    public void run() {
        UnifiedJedis jedis = new UnifiedJedis("redis://localhost:6379");
        String res1 = jedis.set("bike:1", "Deimos");
        System.out.println(res1); // >>> OK
        String res2 = jedis.get("bike:1");
        System.out.println(res2); // >>> Deimos
        Map<String, String> hash = new HashMap<>();
        hash.put("name", "John");
        hash.put("surname", "Smith");
        hash.put("company", "Redis");
        hash.put("age", "29");
        Long res3 = jedis.hset("user-session:123", hash);
        System.out.println(res3); // >>> 4
        Map<String, String> res4 = jedis.hgetAll("user-session:123");
        System.out.println(res4);
        // >>> {name=John, surname=Smith, company=Redis, age=29}
        jedis.close();
    }
}
After you have connected, you can check the connection by storing and retrieving a simple string value:
import redis.clients.jedis.UnifiedJedis;
import java.util.HashMap;
import java.util.Map;
public class LandingExample {
    public void run() {
        UnifiedJedis jedis = new UnifiedJedis("redis://localhost:6379");
        String res1 = jedis.set("bike:1", "Deimos");
        System.out.println(res1); // >>> OK
        String res2 = jedis.get("bike:1");
        System.out.println(res2); // >>> Deimos
        Map<String, String> hash = new HashMap<>();
        hash.put("name", "John");
        hash.put("surname", "Smith");
        hash.put("company", "Redis");
        hash.put("age", "29");
        Long res3 = jedis.hset("user-session:123", hash);
        System.out.println(res3); // >>> 4
        Map<String, String> res4 = jedis.hgetAll("user-session:123");
        System.out.println(res4);
        // >>> {name=John, surname=Smith, company=Redis, age=29}
        jedis.close();
    }
}
Store and retrieve a hash:
import redis.clients.jedis.UnifiedJedis;
import java.util.HashMap;
import java.util.Map;
public class LandingExample {
    public void run() {
        UnifiedJedis jedis = new UnifiedJedis("redis://localhost:6379");
        String res1 = jedis.set("bike:1", "Deimos");
        System.out.println(res1); // >>> OK
        String res2 = jedis.get("bike:1");
        System.out.println(res2); // >>> Deimos
        Map<String, String> hash = new HashMap<>();
        hash.put("name", "John");
        hash.put("surname", "Smith");
        hash.put("company", "Redis");
        hash.put("age", "29");
        Long res3 = jedis.hset("user-session:123", hash);
        System.out.println(res3); // >>> 4
        Map<String, String> res4 = jedis.hgetAll("user-session:123");
        System.out.println(res4);
        // >>> {name=John, surname=Smith, company=Redis, age=29}
        jedis.close();
    }
}
Close the connection when you're done:
import redis.clients.jedis.UnifiedJedis;
import java.util.HashMap;
import java.util.Map;
public class LandingExample {
    public void run() {
        UnifiedJedis jedis = new UnifiedJedis("redis://localhost:6379");
        String res1 = jedis.set("bike:1", "Deimos");
        System.out.println(res1); // >>> OK
        String res2 = jedis.get("bike:1");
        System.out.println(res2); // >>> Deimos
        Map<String, String> hash = new HashMap<>();
        hash.put("name", "John");
        hash.put("surname", "Smith");
        hash.put("company", "Redis");
        hash.put("age", "29");
        Long res3 = jedis.hset("user-session:123", hash);
        System.out.println(res3); // >>> 4
        Map<String, String> res4 = jedis.hgetAll("user-session:123");
        System.out.println(res4);
        // >>> {name=John, surname=Smith, company=Redis, age=29}
        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: