Skip to content

Microservices integration

Spring Boot

For Spring Boot usage please refer to Spring Boot article.

Micronaut

Redisson integrates with Micronaut framework.

Supports Micronaut 2.0.x - 4.x.x

Usage

1. Add redisson-micronaut dependency into your project:

Maven

<dependency>
    <groupId>org.redisson</groupId>
    <!-- for Micronaut v2.0.x - v2.5.x -->
    <artifactId>redisson-micronaut-20</artifactId>
    <!-- for Micronaut v3.x.x -->
    <artifactId>redisson-micronaut-30</artifactId>
    <!-- for Micronaut v4.x.x -->
    <artifactId>redisson-micronaut-40</artifactId>
    <version>3.40.2</version>
</dependency>

Gradle

// for Micronaut v2.0.x - v2.5.x
compile 'org.redisson:redisson-micronaut-20:3.40.2'
// for Micronaut v3.x.x
compile 'org.redisson:redisson-micronaut-30:3.40.2'
// for Micronaut v4.x.x
compile 'org.redisson:redisson-micronaut-40:3.40.2'

2. Add settings into application.yml file

Config structure is a Redisson YAML configuration - single mode, replicated mode, cluster mode, sentinel mode, proxy mode, multi cluster mode, multi sentinel mode

NOTE: Setting names in camel case should be joined with hyphens (-).

Config example:

redisson:
  single-server-config:
     address: "redis://127.0.0.1:6379"
  threads: 16
  netty-threads: 32

Upgrade to Redisson PRO with advanced features.

Cache

For Micronaut Cache usage please refer to Micronaut Cache article.

Session

Redisson provides Micronanut Session store implementation. Extra settings to HttpSessionConfiguration object:

Setting name Type Description
micronaut.session.http.redisson.enabled java.lang.Boolean Enables Session store
micronaut.session.http.redisson.key-prefix java.lang.Integer Defines string prefix applied to all objects stored in Redis.
micronaut.session.http.redisson.codec java.lang.Class Data codec applied to cache entries. Default is Kryo5Codec codec.
micronaut.session.http.redisson.update-mode java.lang.String Defines session attributes update mode.
WRITE_BEHIND - session changes stored asynchronously.
AFTER_REQUEST - session changes stored only on SessionStore#save(Session) method invocation. Default value.
micronaut.session.http.redisson.broadcastSessionUpdates java.lang.Boolean Defines broadcasting of session updates across all micronaut services.

Config example:

micronaut:
    session:
        http:
            redisson:
                enabled: true
                update-mode: "WRITE_BEHIND"
                broadcast-session-updates: false

Quarkus

Redisson integrates with Quarkus framework and implements Quarkus Cache.

Supports Quarkus 1.6.x - 3.x.x

Native image with RemoteService. Click to expand

To use RemoteService in native image add dynamic-proxy.json and reflection-config.json files in quarkus.native.additional-build-args setting.

-H:DynamicProxyConfigurationResources=dynamic-proxy.json,-H:ReflectionConfigurationFiles=reflection-config.json

dynamic-proxy.json:

[
    ["<Remote Service interface name>"]
]

reflection-config.json:

[
   {
     "name":"<Remote Service interface name>",
     "allDeclaredMethods":true
   }
]

Usage

1. Add redisson-quarkus dependency into your project:

Maven

<dependency>
    <groupId>org.redisson</groupId>
    <!-- for Quarkus v1.6.x - v1.13.x -->
    <artifactId>redisson-quarkus-16</artifactId>
    <!-- for Quarkus v2.x.x -->
    <artifactId>redisson-quarkus-20</artifactId>
    <!-- for Quarkus v3.x.x -->
    <artifactId>redisson-quarkus-30</artifactId>
    <version>3.40.2</version>
</dependency>

Gradle

// for Quarkus v1.6.x - v1.13.x
compile 'org.redisson:redisson-quarkus-16:3.40.2'
// for Quarkus v2.x.x
compile 'org.redisson:redisson-quarkus-20:3.40.2'
// for Quarkus v3.x.x
compile 'org.redisson:redisson-quarkus-30:3.40.2'

2. Add settings into application.properties file

Config structure is a flat Redisson YAML configuration - single mode, replicated mode, cluster mode, sentinel mode, proxy mode, multi cluster mode, multi sentinel mode

NOTE: Setting names in camel case should be joined with hyphens (-).

Below is the configuration example for a single Redis or Valkey node setup.

quarkus.redisson.single-server-config.address=redis://localhost:6379
quarkus.redisson.single-server-config.password=null
quarkus.redisson.threads=16
quarkus.redisson.netty-threads=32

Use quarkus.redisson.file setting to specify path to a config file.

3. Use Redisson

@Inject
RedissonClient redisson;

Upgrade to Redisson PRO with advanced features.

Cache

For Quarkus Cache usage please refer to Quarkus Cache article.

Helidon

Redisson implements Helidon CDI extension for Redis.

Supports Helidon 1.4.x - 4.x.x

Usage

1. Add redisson-helidon dependency into your project:

Maven

<dependency>
    <groupId>org.redisson</groupId>
    <!-- for Helidon v1.4.x - v2.5.x -->
    <artifactId>redisson-helidon-20</artifactId>
    <!-- for Helidon v3.x.x -->
    <artifactId>redisson-helidon-30</artifactId>
    <!-- for Helidon v4.x.x -->
    <artifactId>redisson-helidon-40</artifactId>
    <version>3.40.2</version>
</dependency>

Gradle

// for Helidon v1.4.x - v2.5.x
compile 'org.redisson:redisson-helidon-20:3.40.2'
// for Helidon v3.x.x
compile 'org.redisson:redisson-helidon-30:3.40.2'
// for Helidon v4.x.x
compile 'org.redisson:redisson-helidon-40:3.40.2'

2. Add settings into META-INF/microprofile-config.properties file

Config structure is a flat Redisson YAML configuration - single mode, replicated mode, cluster mode, sentinel mode, proxy mode, multi cluster mode, multi sentinel mode

Below is the configuration example for Redisson instance named simple.

org.redisson.Redisson.simple.singleServerConfig.address=redis://127.0.0.1:6379
org.redisson.Redisson.simple.singleServerConfig.connectionPoolSize=64
org.redisson.Redisson.simple.threads=16
org.redisson.Redisson.simple.nettyThreads=32

3. Use Redisson

@Inject
@Named("simple")
private RedissonClient redisson;

For injection without @Named annotation use instance name - default.

Upgrade to Redisson PRO with advanced features.