Skip to content
This repository was archived by the owner on Mar 3, 2026. It is now read-only.

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

jedis

Redis cache and key/value data store for Jooby. exports a {{jedis}} service.

dependency

<dependency>
  <groupId>org.jooby</groupId>
  <artifactId>jooby-jedis</artifactId>
  <version>{{version}}</version>
</dependency>

usage

It is pretty straightforward:

# define a database URI

db = "redis://localhost:6379"
{
  use(new Redis());

   get("/:key/:value", req -> {
     try (Jedis jedis = require(Jedis.class)) {
       jedis.set(req.param("key").value(), req.param("value").value());
       return jedis.get(req.param("key").value());
     }
   });
}

configuration

This module creates a [JedisPool]. A default pool is created with a max of 128 instances.

The pool can be customized from your application.conf:

db = "redis://localhost:6379"

# increase pool size to 200

jedis.pool.maxTotal = 200

two or more redis connections

In case you need two or more Redis connection, just do:

{
  use(new Redis()); // default is "db"
  use(new Redis("db1"));

  get("/:key/:value", req -> {
    try (Jedis jedis = require("db1", Jedis.class)) {
      jedis.set(req.param("key").value(), req.param("value").value());
      return jedis.get(req.param("key").value());
    }
  });
}

application.conf:

db = "redis://localhost:6379/0"

db1 = "redis://localhost:6379/1"

Pool configuration for db1 is inherited from jedis.pool. If you need to tweak the pool configuration for db1 just do:

db1 = "redis://localhost:6379/1"

# ONLY 10 for db1

jedis.db1.maxTotal = 10

For more information about Jedis checkout the wiki

{{doc/jedis/jedis-session.md}}

That's all folks! Enjoy it!

TBD: Object mapping? https://github.com/xetorthio/johm?

{{appendix}}