合适的数据类型

时间:2011-04-18 12:11:19

标签: data-structures types redis

我有一个用户名和用户ID列表。我想按初始对用户名进行分组。密钥将是用户名,因此我可以从用户名获取用户ID并检查用户是否存在。

用于此目的的最佳数据类型是什么?我在考虑哈希,但还有其他建议吗?你能告诉我为什么要选择那种数据类型吗?

谢谢!

1 个答案:

答案 0 :(得分: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是否在数据库中。答案是肯定的,而#id#是1000

让我们获取其余的uid信息:

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

或只是密码:

> hget uid:1000 pass
"x1x2x3"

这会回答你的问题吗?