Tinder算法如何快速找到用户

use*_*183 5 algorithm optimization performance redis tinder

我正在开发一个在线服务,根本不像Tinder,但是他们的算法可以帮助我理解如何很好地扩展.

我的假设是他们的每个用户都有一skipped组以前访问过的用户.我不确切地知道他们使用了什么,它可能不是,redis但是有一个这样的页面解释了redis中的实现(不是必需但是提供信息).

我假设users从服务器请求的用户是随机选择的(假设我们不关心年龄,性别等)只是来自您所在位置的人.然后他们检查该用户是否在该skipped集合中.

现在如果有人手动或运行机器人来跳过每个用户,会发生什么.这个过程不会随着skipped接近大小而开始滞后users.很快每一次检查都已经进行了skipped,它将进入一个循环,每次只检查一个新的随机用户,所有人都已经看到了.

他们如何快速保持这个过程?必须有一些不仅限于skipped你拥有多少人的东西,因为也许你会跳过许多从未回到网上的人,而且你的skipped人数比人数更多users.