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>