You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72332bcd20 | 4 years ago | |
---|---|---|
.. | ||
src | 4 years ago | |
README.md | 4 years ago | |
pom.xml | 4 years ago |
README.md
Redis integration with Micronaut
Integrates Redisson with Micronaut framework.
Supports Micronaut 2.0.x - 2.5.x
Usage
1. Add redisson-micronaut
dependency into your project:
Maven
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-micronaut</artifactId>
<version>3.16.0</version>
</dependency>
Gradle
compile 'org.redisson:redisson-micronaut:3.16.0'
2. Add settings into application.yml
file
2.1 Redisson settings
Config structure is a Redisson YAML configuration - single mode, replicated mode, cluster mode, sentinel mode, proxy 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
2.2 Cache settings
Setting name | Type | Description |
---|---|---|
redisson.caches.*.max-size | java.lang.Integer | Max size of this cache. Superfluous elements are evicted using LRU algorithm. If 0 the cache is unbounded (default). |
redisson.caches.*.codec | java.lang.Class | Redis data codec applied to cache entries. Default is MarshallingCodec codec. |
redisson.caches.*.expire-after-write | java.time.Duration | Cache entry time to live duration applied after each write operation. |
redisson.caches.*.expire-after-access | java.time.Duration | Cache entry time to live duration applied after each read operation. |
Config example:
redisson:
single-server-config:
address: "redis://127.0.0.1:6379"
caches:
my-cache1:
expire-after-write: 10s
expire-after-access: 3s
max-size: 1000
codec: org.redisson.codec.MarshallingCodec
my-cache2:
expire-after-write: 200s
expire-after-access: 30s
2.3 Session settings
Session store implementation. Additional 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 | Redis data codec applied to cache entries. Default is MarshallingCodec 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
3 Use Redisson
3.1 Redisson instance
@Inject
private RedissonClient redisson;
3.2 Cache
@Singleton
@CacheConfig("my-cache1")
public class CarsService {
@Cacheable
public List<String> listAll() {
// ...
}
@CachePut(parameters = {"type"})
public List<String> addCar(String type, String description) {
// ...
}
@CacheInvalidate(parameters = {"type"})
public void removeCar(String type, String description) {
// ...
}
}
Consider Redisson PRO version for ultra-fast performance and support by SLA.