Redisson Cusing Connectionpool - PullRequest
       105

Redisson Cusing Connectionpool

0 голосов
/ 27 апреля 2020

baeldung перечисляет несколько преимуществ Redisson в качестве клиента Redis. Поэтому я решил использовать его. Для цели PO C я использовал экземпляр одного узла, может позже переключится на другой. Проверено Пул соединений Redisson , но для этого требуется конфигурация master-slave. Как мне заставить его работать с одним экземпляром?
Я ожидал, что метод get () из пула вернет RedisClient, но он вернет будущее. Также этот метод принимает RedisCommand в качестве параметра. Я ожидал, что как только я получу RedisClient, я смогу выполнить некоторые операции с картой, как показано на примере Rmap . Есть ли где-нибудь документация, за которой я могу следовать, которая показывает, как использовать RedisCommand, но прежде всего что это (пример с рабочим кодом был бы хорош)?

Мой вариант использования прост - запрос, который получает моя служба, требует интенсивной обработки, поэтому необходимо кэшировать результаты по каждому запросу. Также иногда, если ответ слишком велик, мы также пакетируем ответ. Скажем, запрос Req1 приводит к Res1 (без пакетирования) -> Я хочу сохранить в Redis Map Res1 как значение по отношению к Req1. Теперь давайте скажем, что, поскольку Res1 был огромен, и нам пришлось пакетировать его и отправить только страницу 1 со ссылкой на страницу 2. В этом случае я хочу сохранить как полный ответ Res1, так и первую страницу, скажем, только 100 записей Res1 в Redis. Соглашение об именах, которое я использую, приведено ниже:

    key                   value
    Req1:allPages          Res1
    Req:page1              page 1 of Res1
    Req:page2              page 2 of Res1

..

Аналогично для других запросов, сохраняя как постраничный, так и полный ответ, если его уже нет в Redis.

Является ли мой стандарт соглашения об именах или какой-либо другой шаблон в моде? И как мне использовать пул соединений Redisson с одним узлом. И позже, когда я перейду к «Ведущий-ведомый», как сделать эту миграцию? Также что такое RedisCommand и как мне его создать и использовать?

Я использую последнюю версию Redisson:

 <dependency>
        <groupId>org.redisson</groupId>
        <artifactId>redisson</artifactId>
        <version>3.12.5</version>
    </dependency>

1 Ответ

0 голосов
/ 09 мая 2020

И как мне использовать пул соединений Redisson с одним узлом

Вам не нужно поддерживать пул соединений самостоятельно. Просто определите конфигурацию для отдельного узла, например, , объясненное здесь

Также Что такое RedisCommand и как мне его создать и использовать?

Вы не делаете нужно использовать низкоуровневый объект, такой как RedisClient. Просто найдите соответствующий API для команд Redis здесь

...