#redis #redigo
#redis #redigo
Вопрос:
Я хотел бы иметь возможность ПОЛУЧИТЬ значение ключа и сразу узнать, какой это тип. Я использую
res, err := conn.Do("GET", key)
Это возвращает interface{}
значение in res
. В зависимости от типа, я хотел бы вызвать одну из вспомогательных функций, таких как redigo.String(res)
или redigo.Bool(res)
. Я знаю, что могу сделать conn.Do("TYPE", key)
, чтобы получить тип отдельно, но как я могу получить тип только из результата одного запроса GET?
Комментарии:
1. Честно говоря, моя первая мысль здесь — это работа по управлению конвейером ввода и обеспечению типа ключа.
Ответ №1:
Подождите, TYPE
команда REDIS не предоставляет вам подробную информацию о типе значения, она просто сообщает вам, является ли значение ключа строкой, списком, набором, zset, хэшем или потоком.
Таким образом, код вашего приложения или код клиента должны определить, что это эквивалентно для вашего языка программирования.
Вы можете попытаться декодировать свои данные, используя известные типы значений ключа.