0

我在mysql中有两个表,tasks和users。如何在 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 数组中。我不想只获取用户名之类的单个字段。我想为特定用户ID加载用户所有信息在php数组中,例如

$user[1] = array("name" => "user1", "email" => "abc@xyz.com");

如果我可以将它分类为“用户”和“任务”等不同的集合,而不是将其存储在许多键中,那就更好了。

4

1 回答 1

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)
于 2013-09-23T13:27:52.773 回答