## 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**.