在Redis中设计多对多关系

时间:2013-05-24 20:31:08

标签: redis

我有两种数据类型,每种都有一个数字ID。我想要从一个到另一个的映射,我看到两种显而易见的方法:

  1. A类型的每个实体的密钥,包含一组类型为B的ID。
  2. 单个大型有序集合,其中包含与类型A的键对应的等级(当A类型的给定对象存在多个关系时,它们可以重复),并且该集合的值是类型B的键。
  3. 当你有一个类型A的键时,两者都允许快速查找,这是我真正需要的。

    使用单个大型排序集似乎对我来说可能不那么传统,但它会使键空间变得更少,并且看起来它也可以正常工作。

    有任何重要的理由以这种或那种方式做到这一点吗?

1 个答案:

答案 0 :(得分:4)

一个较大的分类集很难分片(如果它对一台机器来说变得太大了)。除此之外,他们都应该工作得很好。

我不会太担心键空间的混乱。 Redis可以愉快地处理数百万个密钥(我的一个服务器有30多万个密钥)。