Вы должны сделать это с помощью 2 команд:
KEYS Mountain:*
HGETALL <everykeys>
Но, если вы можете, лучше не использовать команду KEYS, поэтому вы можете сделать что-то вроде этого:
HMSET Mountain:1 id "1" name "Mo1"
SADD Montains Mountain:1
HMSET Mountain:2 id "2" name "Mo2"
SADD Montains Mountain:2
HMSET Mountain:3 id "3" name "Mo3"
SADD Montains Mountain:3
и получить его:
SMEMBERS Mountain
HGETALL <everykeys>
Redis — это система ключ/значение с дополнительным типом данных, поэтому вам нужно построить свой индекс. Например, для индексации имени, если имя уникально:
HSET Mountains:IdByName "Mo3" 3
и вы получите идентификатор:
HGET Mountains:IdByName "Mo3"
для неуникальных давайте снова используем set
SADD Mountains:IdByName:Mo3 3
И вы увеличите количество ключей и поэтому KEYS не рекомендую, потому что дорого
следующий шаг - использовать скрипт lua для получения/установки хэша из/и индекса
person
Philippe T.
schedule
08.07.2014