Data structures 合适的数据类型

Data structures 合适的数据类型,data-structures,types,redis,Data Structures,Types,Redis,我得到了用户名和用户id的列表。我想按首字母对用户名进行分组。密钥将是用户名,因此我可以从用户名中获取用户id,并检查用户是否存在 用于此目的的最佳数据类型是什么?我在考虑哈希,但还有其他建议吗?你能告诉我为什么我要选择那个数据类型吗 谢谢 我只是在玩这个。这就是我得到的: > set alias:tamer 1000 "OK" > set alias:tansel 1001 "OK" > hmset uid:1000 alias tamer age 45 "OK" >

我得到了用户名和用户id的列表。我想按首字母对用户名进行分组。密钥将是用户名,因此我可以从用户名中获取用户id,并检查用户是否存在

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


谢谢

我只是在玩这个。这就是我得到的:

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

这回答了你的问题吗?

那么你也喜欢哈希?为什么我应该选择散列而不是其他数据类型?如果我想按用户名的首字母对其进行分组,最好的方法是什么?我无法回答比作者自己更好的问题: