Я получаю ключи в одном соединении и одновременно выполняю HGETALL в другом соединении. Это по-прежнему не устраняет задержку HGETALL туда и обратно, от которой я хотел бы полностью избавиться.
Что я хочу сделать, так это отправить запросы HGETALL с окном в полете, как это есть нет завтра.
Я знаю, что могу выполнить один запрос с несколькими HGETALL-ами*, но тогда мне все равно придется ждать ответа и время от времени платить за эту задержку.
*- хотя я все еще еще предстоит выяснить, как сформировать тип ответа для такого запроса, чтобы он не имел статического размера.
Есть ли лучший способ?
Я используя синтаксис сопрограмм, поэтому код теперь будет выглядеть так:
Код: Выделить всё
auto request = redis::request{};
request.push("HGETALL", key);
auto response = redis::response{};
co_await conn->async_exec(request, response, asio::deferred);
Подробнее здесь: https://stackoverflow.com/questions/790 ... boostredis
Мобильная версия