Как определить базовую структуру данных в Redis после их «GET»? - PullRequest
0 голосов
/ 02 сентября 2018

Я использую API для получения всех видов данных из Redis и выполнения различных операций с ними. В случае растровых изображений и HLL я не могу этого сделать, поскольку они оба хранятся в виде строк и работают с ключами, принадлежащими к этим структурам данных. Я не могу отличить возвращаемые значения, являются ли они обычными строковыми ключами или HLL или растровые изображения.

Существует ли команда redis для определения базовой структуры данных, к какой структуре данных принадлежит возвращаемое значение?

1 Ответ

0 голосов
/ 02 сентября 2018

Нет, для растровых изображений и HLL нет способа получить эту информацию, потому что Redis не хранит ее. Любая данная строка может быть простой строкой или растровым изображением. Каждая строка также является допустимым растровым изображением, и каждое растровое изображение можно интерпретировать как строку.

Конечно, вы могли бы взломать некоторые эвристики, но они обязательно потерпят неудачу, и, очевидно, ужасно безобразны.

Если у вас есть какой-либо контроль над определением данных, вы можете закодировать такую ​​информацию в КЛЮЧ.

(следует предыдущий, неинформированный ответ)

Да, есть команда TYPE :

redis> SET key1 "value"
"OK"
redis> LPUSH key2 "value"
(integer) 1
redis> SADD key3 "value"
(integer) 1
redis> TYPE key1
"string"
redis> TYPE key2
"list"
redis> TYPE key3
"set"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...