Popularity
9.4
Stable
Activity
9.1
Growing
11,573
688
3,829

Description

Jedis is a blazingly small and sane Redis java client.

Jedis was conceived to be EASY to use.

Jedis is fully compatible with redis 2.8.x and 3.0.x.

Code Quality Rank: L4
Programming language: Java
License: MIT License
Tags: Database    
Latest version: v3.3.0

Jedis alternatives and similar libraries

Based on the "Database" category.
Alternatively, view Jedis alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Jedis or a related project?

Add another 'Database' Library

README

Jedis

Release Maven Central Javadocs [MIT licensed](./LICENSE.txt) Integration Language grade: Java codecov Discord

What is Jedis?

Jedis is a Java client for Redis designed for performance and ease of use.

Are you looking for a high-level library to handle object mapping? See redis-om-spring!

Contributing

We'd love your contributions!

Bug reports are always welcome! You can open a bug report on GitHub.

You can also contribute documentation -- or anything to improve Jedis. Please see contribution guideline for more details.

Getting started

To get started with Jedis, first add it as a dependency in your Java project. If you're using Maven, that looks like this:

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>4.2.0</version>
</dependency>

Next, you'll need to connect to Redis. For many applications, it's best to use a connection pool. You can instantiate a Jedis connection pool like so:

JedisPool pool = new JedisPool("localhost", 6379);

With a JedisPool instance, you can use a try-with-resources block to get a connection and run Redis commands.

Here's how to run a single SET command within a try-with-resources block:

try (Jedis jedis = pool.getResource()) {
  jedis.set("clientName", "Jedis");
}

Jedis instances implement most Redis commands. See the Jedis Javadocs for the complete list of supported commands.

Easier way of using connection pool

Using a try-with-resources block for each command may be cumbursome, so you may consider using JedisPooled.

JedisPooled jedis = new JedisPooled("localhost", 6379);

Now you can send commands like sending from Jedis.

jedis.sadd("planets", "Venus");

Connecting to a Redis cluster

Jedis lets you connect to Redis Clusters, supporting the Redis Cluster Specification. To do this, you'll need to connect using JedisCluster. See the example below:

Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7379));
jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7380));
JedisCluster jedis = new JedisCluster(jedisClusterNodes);

Now you can use the JedisCluster instance and send commands like you would with a standard pooled connection:

jedis.sadd("planets", "Mars");

Using Redis modules

Jedis includes support for Redis modules such as RedisJSON and RediSearch.

See the [RedisJSON Jedis](docs/redisjson.md) or [RediSearch Jedis](docs/redisearch.md) for details.

Documentation

The Jedis wiki contains several useful articles for using Jedis.

You can also check the latest Jedis Javadocs.

Troubleshooting

If you run into trouble or have any questions, we're here to help!

Hit us up on the Redis Discord Server or open an issue on GitHub.

You can also find help on the Jedis mailing list or the GitHub Discussions.

License

Jedis is licensed under the MIT license.

Sponsorship

[Redis Logo](redis-logo-full-color-rgb.png)


*Note that all licence references and agreements mentioned in the Jedis README section above are relevant to that project's source code only.