Redis多个集合取交集,如何提高性能?

我们都知道Redis的集合,是可以对多个集合取交集。例如社交好友推荐。

  • 如果只有几个集合,或者几十个集合,我们可以拿当前人的关注集合,通过循环的方式,依次对其他的集合取交集。
  • 如果系统中存在几十万,几百万的用户,每一个用户关注的,都单独存一个集合,这样系统就会有上百万的集合。如果还是拿当前用户的集合通过循环的方式,依次对其他的集合取交集。这种效率肯定是太低的,是否有其他的方式可优化。
阅读 2.2k
2 个回答

按你举的这个社交好友例子来说,你该考虑用图数据库,比如neo4j

社交好友推荐采用的是离线方式,所以和 redis 无关

可以了解一下 twiiter、facebook 处理『六度人脉』关系的方案

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题