假设我有一个散列的散列,例如
$data = {
'harry' : {
'age' : 25,
'weight' : 75,
},
'sally' : {
'age' : 25,
'weight' : 75,
}
}
发布于 2012-01-11 05:43:18
发布于 2013-08-14 16:52:57
让我们以我们必须以redis存储的复杂数据为例,例如:
$data = {
"user:1" : {
name : "sally",
password : "123"
logs : "25th october" "30th october" "12 sept",
friends : "34" , "24", "10"
}
"user:2" :{
name : ""
password : "4567"
logs :
friends: ""
}
}
我们面临的问题是好友和日志都是列表。因此,我们可以使用散列和列表来表示redis中的数据,如下所示:
选项 1.密钥为user:1和user:2的散列映射
hmset user:1 name "sally" password "12344"
hmset user:2 name "pally" password "232342"
create separate list of logs as
logs:1 { here 1 is the user id }
lpush logs:1 "" "" ""
lpush logs:2 "" "" ""
and similarly for friends.
选项 2:将转储的json数据作为字符串编码的散列映射
hmset user:1 name "sally" password "12344" logs "String_dumped_data" friends "string of dumped data"
选项 3:这是#1的另一种表示形式
something like user:1:friends -> as a list
and user:2:friends -> as a list
如果我说错了,请纠正我。
发布于 2012-01-11 05:42:46
这取决于您想要做什么,但是如果您的数据结构不是嵌套得更深,并且需要访问每个字段,我建议您使用散列:http://redis.io/commands#hash
下面是对redis数据类型的一个很好的概述,每种数据类型都有正反两种:http://redis.io/topics/data-types
https://stackoverflow.com/questions/8810036
复制相似问题