Redigo: Как я могу получить карту ключ-значение от Redis, используя Golang? - PullRequest
0 голосов
/ 23 октября 2019

Допустим, у меня в Redis есть этот набор ключей:

KEY           VALUE
"agent_100"   "{name: Agent1, status:online}"
"agent_200"   "{name: Agent2, status:offline}"
"agent_300"   "{name: Agent3, status:online}"
"agent_400"   "{name: Agent4, status:offline}"

Мне нужно вернуть карту со всеми этими ключами и значениями в Golang, используя Redigo. Вывод будет выглядеть как map[uint64]string с этими значениями ключей:

100 -> "{name: Agent1, status:online}"
200 -> "{name: Agent2, status:offline}"
300 -> "{name: Agent3, status:online}"
400 -> "{name: Agent4, status:offline}"

Если я сделаю Scan, я смогу получить все ключи, соответствующие шаблону, подобному agent_*, и, возможно, тогда я смогусделать MGET со всеми этими ключами, чтобы получить значения, но как я могу связать эти ключи и значения простым способом?

Нет библиотечной функции, чтобы получить не только ключи, которые соответствуют шаблону, но итакже значения, чтобы я мог вернуть карту с этим?

Я сейчас использую redigo , но я также изучал go-redis, чтобы посмотреть, есть ли более простой способ добиться этогоЯ открыт для рассмотрения других вариантов.

Спасибо!

1 Ответ

0 голосов
/ 23 октября 2019

MGET сохраняет порядок. Поэтому, если вы отправляете список ключей, вы должны ожидать результаты в том же порядке с отсутствующими ключами, содержащими ноль.

...