## Spring Boot For Spring Boot usage please refer to [Spring Boot](integration-with-spring.md/#spring-boot-starter) article. ## Micronaut Redisson integrates with [Micronaut](https://micronaut.io/) framework. Supports Micronaut 2.0.x - 4.x.x ### Usage **1. Add `redisson-micronaut` dependency into your project:** Maven ```xml org.redisson redisson-micronaut-20 redisson-micronaut-30 redisson-micronaut-40 xVERSIONx ``` Gradle ```groovy // for Micronaut v2.0.x - v2.5.x compile 'org.redisson:redisson-micronaut-20:xVERSIONx' // for Micronaut v3.x.x compile 'org.redisson:redisson-micronaut-30:xVERSIONx' // for Micronaut v4.x.x compile 'org.redisson:redisson-micronaut-40:xVERSIONx' ``` **2. Add settings into `application.yml` file** Config structure is a Redisson YAML configuration - [single mode](configuration.md/#single-yaml-config-format), [replicated mode](configuration.md/#replicated-yaml-config-format), [cluster mode](configuration.md/#cluster-yaml-config-format), [sentinel mode](configuration.md/#sentinel-yaml-config-format), [proxy mode](configuration.md/#proxy-mode-yaml-config-format), [multi cluster mode](configuration.md/#multi-cluster-yaml-config-format), [multi sentinel mode](configuration.md/#multi-sentinel-yaml-config-format) NOTE: Setting names in camel case should be joined with hyphens (-). Config example: ```yaml redisson: single-server-config: address: "redis://127.0.0.1:6379" threads: 16 netty-threads: 32 ``` Upgrade to __[Redisson PRO](https://redisson.pro)__ with **advanced features**. ### Cache For Micronaut Cache usage please refer to [Micronaut Cache](cache-api-implementations.md/#micronaut-cache) article. ### Session Redisson provides Micronanut [Session](https://docs.micronaut.io/latest/api/io/micronaut/session/Session.html) store implementation. Extra settings to [HttpSessionConfiguration](https://docs.micronaut.io/2.5.4/api/io/micronaut/session/http/HttpSessionConfiguration.html) 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: ```yaml micronaut: session: http: redisson: enabled: true update-mode: "WRITE_BEHIND" broadcast-session-updates: false ``` ## Quarkus Redisson integrates with [Quarkus](https://quarkus.io/) framework and implements [Quarkus Cache](https://quarkus.io/guides/cache). Supports Quarkus 1.6.x - 3.x.x ??? note "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: ``` [ [""] ] ``` reflection-config.json: ``` [ { "name":"", "allDeclaredMethods":true } ] ``` ### Usage **1. Add `redisson-quarkus` dependency into your project:** Maven ```xml org.redisson redisson-quarkus-16 redisson-quarkus-20 redisson-quarkus-30 xVERSIONx ``` Gradle ```groovy // for Quarkus v1.6.x - v1.13.x compile 'org.redisson:redisson-quarkus-16:xVERSIONx' // for Quarkus v2.x.x compile 'org.redisson:redisson-quarkus-20:xVERSIONx' // for Quarkus v3.x.x compile 'org.redisson:redisson-quarkus-30:xVERSIONx' ``` **2. Add settings into `application.properties` file** Config structure is a flat Redisson YAML configuration - [single mode](configuration.md/#single-yaml-config-format), [replicated mode](configuration.md/#replicated-yaml-config-format), [cluster mode](configuration.md/#cluster-yaml-config-format), [sentinel mode](configuration.md/#sentinel-yaml-config-format), [proxy mode](configuration.md/#proxy-mode-yaml-config-format), [multi cluster mode](configuration.md/#multi-cluster-yaml-config-format), [multi sentinel mode](configuration.md/#multi-sentinel-yaml-config-format) 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** ```java @Inject RedissonClient redisson; ``` Upgrade to __[Redisson PRO](https://redisson.pro)__ with **advanced features**. ### Cache For Quarkus Cache usage please refer to [Quarkus Cache](cache-api-implementations.md/#quarkus-cache) article. ## Helidon Redisson implements [Helidon](https://helidon.io/) CDI extension for Redis. Supports Helidon 1.4.x - 4.x.x ### Usage **1. Add `redisson-helidon` dependency into your project:** Maven ```xml org.redisson redisson-helidon-20 redisson-helidon-30 redisson-helidon-40 xVERSIONx ``` Gradle ```groovy // for Helidon v1.4.x - v2.5.x compile 'org.redisson:redisson-helidon-20:xVERSIONx' // for Helidon v3.x.x compile 'org.redisson:redisson-helidon-30:xVERSIONx' // for Helidon v4.x.x compile 'org.redisson:redisson-helidon-40:xVERSIONx' ``` **2. Add settings into `META-INF/microprofile-config.properties` file** Config structure is a flat Redisson YAML configuration - [single mode](configuration.md/#single-yaml-config-format), [replicated mode](configuration.md/#replicated-yaml-config-format), [cluster mode](configuration.md/#cluster-yaml-config-format), [sentinel mode](configuration.md/#sentinel-yaml-config-format), [proxy mode](configuration.md/#proxy-mode-yaml-config-format), [multi cluster mode](configuration.md/#multi-cluster-yaml-config-format), [multi sentinel mode](configuration.md/#multi-sentinel-yaml-config-format) 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** ```java @Inject @Named("simple") private RedissonClient redisson; ``` For injection without @Named annotation use instance name - `default`. Upgrade to __[Redisson PRO](https://redisson.pro)__ with **advanced features**.