我的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它适用于多个用户