2011-04-18 6 views
0

J'ai reçu une liste de noms d'utilisateurs et d'utilisateurs. Je veux regrouper le nom d'utilisateur par initial. la clé sera le nom d'utilisateur, ainsi je peux obtenir l'identification d'utilisateur du nom d'utilisateur et vérifier si l'utilisateur existe ou pas.Type de données approprié

Quel est le meilleur type de données à utiliser pour cela? je pense à hash, mais toute autre recommandation? pouvez-vous me dire pourquoi devrais-je choisir ce type de données?

merci!

Répondre

1

Je jouais juste avec ça. Voici donc ce que je suis:

> 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"] 

Donc, si quelqu'un tente de se connecter, ils vous donneront alias et passer

alors vous vérifier si l'alias existe, comme ceci:

> get alias:tamer 
"1000" 

Nous vérifions si uid: tamer est dans la base de données. La réponse est oui et le # uid est 1000

permet d'obtenir le reste de l'info uid:

> hgetall uid:1000 
{"alias":"tamer","age":"45","pass":"x1x2x3"} 

ou tout simplement le mot de passe:

> hget uid:1000 pass 
"x1x2x3" 

Est-ce que cette réponse à votre question?

+0

donc vous préférez aussi le hachage? Pourquoi devrais-je choisir un hachage au lieu d'un autre type de données? et quelle est la meilleure façon si je veux regrouper le nom d'utilisateur par leur initiale? – od3n

+0

Je ne pouvais pas répondre mieux que l'auteur lui-même: [lien] (http://redis.io/topics/data-types-intro) – RoboTamer

Questions connexes