我的redis数据模型的键或列表?

我的redis数据模型的键或列表?,redis,Redis,我正在构建我的应用程序的数据模型,基本上,对于给定的用户,我希望保留他/她的朋友列表以及他们每个人的状态(如果他们接受成为朋友的请求,或者如果他们还没有) 最后我得到了几把钥匙:(汤姆的每个朋友一把) 这是处理这个问题的最佳方法还是应该以其他方式使用列表?您可以尝试使用哈希键为friends:tom:status的示例结构,字段将表示朋友姓名/ID,值将表示他的状态。哈希结构通常不仅仅是专用键。您可以尝试使用哈希键为朋友:tom:status的示例结构,字段将表示朋友姓名/ID,值将表示他的状态

我正在构建我的应用程序的数据模型,基本上,对于给定的用户,我希望保留他/她的朋友列表以及他们每个人的状态(如果他们接受成为朋友的请求,或者如果他们还没有)

最后我得到了几把钥匙:(汤姆的每个朋友一把)


这是处理这个问题的最佳方法还是应该以其他方式使用列表?

您可以尝试使用哈希键为
friends:tom:status
的示例结构,字段将表示朋友姓名/ID,值将表示他的状态。哈希结构通常不仅仅是专用键。

您可以尝试使用哈希键为
朋友:tom:status
的示例结构,字段将表示朋友姓名/ID,值将表示他的状态。散列结构通常不仅仅是专用键。

您可以使用一个有序集来实现此目的

每个状态都有一个与之相关的分数,加入1,等待2,拒绝3

zadd user1_friends 1 userid 1 userid 2 userid
然后,您可以轻松地按类别检索所有用户

zscore user1_friends 1
或者你可以分成3组

sadd user1_joined userid1
sadd user1_pending userid3

根据您要执行的操作,这两种方法都可以执行

您可以使用一个有序的集合来执行此操作

每个状态都有一个与之相关的分数,加入1,等待2,拒绝3

zadd user1_friends 1 userid 1 userid 2 userid
然后,您可以轻松地按类别检索所有用户

zscore user1_friends 1
或者你可以分成3组

sadd user1_joined userid1
sadd user1_pending userid3

取决于您想做什么,这两种方法都可以

是针对单个用户还是multiple@GaneshKumar它适用于多个用户。它适用于单个用户或multiple@GaneshKumar它适用于多个用户