Как я могу создать Redisson Client для подключения к Redis - PullRequest
0 голосов
/ 08 мая 2019

Я не уверен, как создать объект RedissonClient в приложении.1- Должен ли этот объект создаваться для каждой транзакции или 2- Объект должен быть синглтонным для каждой JVM?3- Только один объект для всех услуг?

В настоящее время моя установка представляет собой встроенную Jetty с API-интерфейсами Jersey для 3 Сервисов, работающих на другом наборе модулей Kubernetes, а настройка Redis - 3 + 3 master и slave config.

Текущая конфигурация выглядит следующим образом.

открытый класс RedisTemplate {

public static final RedissonClient REDISCLIENT;
private static final Logger logger = LogManager.getLogger(RedisTemplate.class);

public static final String redisMaster = "redis-cluster";

static {
    Config config = new Config();

    logger.info("redis config for server");

    config.useClusterServers().addNodeAddress("redis://" + redisMaster + ":6379");

    REDISCLIENT = Redisson.create(config);

}

}

1 Ответ

0 голосов
/ 08 мая 2019

Как указано в их FAQ , редиссон должен быть одноэлементным:

В: Когда мне нужно завершить работу экземпляра Redisson, в конце каждого запроса или в конце срока службы потока?
A : экземпляр Redisson требует ручного отключения, только если вы хотите прекратить использование всех его функций. Это общий шаблон, который Redisson запускает и останавливает вместе с приложением. Поскольку он полностью безопасен для потоков, вы можете рассматривать экземпляр Redisson как одиночный. Последовательность выключения отключит все активные соединения, содержащиеся в каждом пуле соединений, и очистит определенные типы объектов Redisson, требующие действия по уничтожению вручную после удаления, затем остановит циклы событий. Пожалуйста, обратите внимание, что весь процесс выключения не является мгновенным.

...