#data-structures #types #redis
#структуры данных #типы #redis
Вопрос:
я получил список имени пользователя и идентификатора пользователя. я хочу сгруппировать имя пользователя по инициалу. ключом будет имя пользователя, поэтому я могу получить идентификатор пользователя из имени пользователя и проверить, существует пользователь или нет.
какой тип данных лучше всего использовать для этого? я думаю о хэше, но есть ли другие рекомендации? можете ли вы сказать мне, почему я должен выбрать этот тип данных?
Спасибо!
Ответ №1:
Я просто играл с этим. Итак, вот что я получил:
> set alias:tamer 1000
"OK"
> set alias:tansel 1001
"OK"
> hmset uid:1000 alias tamer age 45
"OK"
> hmset uid:1001 alias tansel age 39
"OK"
> hset uid:1000 pass x1x2x3
true
============================
> get alias:tamer
"1000"
> hget uid:1000 alias
"tamer"
hgetall uid:1000
{"alias":"tamer","age":"45","pass":"x1x2x3"}
> hgetall uid:1001
{"alias":"tansel","age":"39"}
> hvals uid:1000
["tamer","45","x1x2x3"]
> hkeys uid:1000
["alias","age","pass"]
Поэтому, если кто-то пытается войти в систему, он предоставит вам псевдоним и передаст
Затем вы должны проверить, существует ли псевдоним, например:
> get alias:tamer
"1000"
Мы проверяем, есть ли uid: tamer в базе данных. Ответ положительный, а uid # равен 1000
Давайте получим остальную информацию об uid:
> hgetall uid:1000
{"alias":"tamer","age":"45","pass":"x1x2x3"}
Или просто пароль:
> hget uid:1000 pass
"x1x2x3"
Отвечает ли это на ваш вопрос?
Комментарии:
1. так вы тоже предпочитаете хэш? почему я должен выбрать хэш вместо другого типа данных? и каков наилучший способ, если я хочу сгруппировать имя пользователя по их инициалу?
2. Я не смог бы ответить на этот вопрос лучше, чем сам автор: ссылка