3

我正在构建具有排名功能的网络服务。

我没有强大的服务器:整个服务将托管在标准 PC 中。可能有一段时间,当许多用户(在这种情况下很多 = ~100)正在刷新排名时,所以我会这样做,用户不会因此而崩溃服务器。

不实时刷新没有问题:可以显示前一段时间生成的用户排名。

生成排名对我来说没有问题。我可以很容易地做到这一点:

User.objects.filter(...).order_by('rank')

编辑:更多细节:我有一些工人在做一些计算。当 worker 结束其工作时,它会更改某些 User 实例的 rank 字段。您可以假设,所有用户都会执行导致数(5-20​​)次计算的操作,每一次都会导致该用户的排名发生变化。

4

1 回答 1

1

如果更新排名的任务太长而无法按请求执行,那么您可以使用以下一些解决方案:

解决方案 1 在性能方面更好,但更难正确。解决方案 2 更容易做到,但可能不太理想。

于 2012-09-12T20:26:06.187 回答