我在mysql,任务和用户中有两个表。我如何在redis中建模?要使用哪种数据结构?
如,
tasks
-------------------------------------------
id name assigned_to cretead_at
-------------------------------------------
1 task1 1 2012-09-10 00:00:00
-------------------------------------------
2 task2 2 2013-09-11 00:00:00
--------------------------------------------
users
-------------------
id name email
-------------------
1 user1 abc@xyz.com
--------------------
2 user2 efg@xyz.com
-------------------
我的要求是,我有用户ID并希望将所有字段加载到php数组中。我不想像仅用户名一样获取单个字段。我想在php数组中加载用户的所有信息,例如。
$user[1] = array("name" => "user1", "email" => "abc@xyz.com");
如果我可以将它分类到“用户”和“任务”之类的不同集合而不是将其存储在许多键中,那会更好。
答案 0 :(得分:0)
Redis是一个Key:Value存储系统,因此您可以按键存储(并获取)值。
要按类别(用户,广告等)存储组中的所有数据,您可以使用List。例如,使用phpredis:
// To store lset(key index value)
$redis->lSet('users', $user[$id]['id'], json_encode($user[$id]));
// To get lget(key, index)
$redis->lGet('users', $id)