2015-04-08 2 views
1

Мне нужно прочитать хэши redis из redigo. Этот хэш имеет переменные ключи. Это вызывает проблему, потому что ScanStruct требует, чтобы я знал эти ключи заранее, поэтому я могу помещать их в структуру и распаковывать результат HGETALL в эту структуру.redigo: прочитайте хэши redis, которые имеют переменные ключи

Есть ли способ проанализировать результат HGETALL, который имеет неизвестные ключи? Он не обязательно должен быть с ScanStruct (или даже с redigo), если я могу получить доступ к результатам изнутри go.

ответ

3

ScanStruct - это просто удобство, когда вы сопоставляете известную структуру с хэшем redis.

Используйте вспомогательную функцию redis.StringMap, чтобы получить map[string]string.

Все это redis - это строка, а библиотека redigo преобразует значения для вас. Вы можете легко преобразовать значения по мере необходимости из своих строковых представлений. Если вы хотите необработанные байты без преобразования первой строки, вы можете использовать redis.Values, который будет возвращать переменные ключи и значения в []interface{}.

Смежные вопросы