Azure表中的排名



我遇到了一个设计问题。我想给表中的用户记录分配等级。他们在网站上做一些动作,并根据排行榜给出一个排名。我想要的选项可以是Top 10, User's position, Top 10 logged in today等等

我只是找不到一种方法来存储它在Azure表。然后我考虑在blob中存储自定义集合对象(排序列表)。

有什么建议吗?

表实体按PartitionKey, RowKey排序。虽然您可以不断地删除和重新创建用户(从而允许您更改PK, RK)以给出正确的顺序,但这似乎是一个糟糕的主意,或者至少是过度的。相反,我可能会存储您用于计算排名的数据,并定期计算和存储排名(如您所说)。我们在工作中经常这样做——预先计算数据在JSON视图中的样子,将其存储在blob中,并让UI直接查询它。诀窍在于决定何时重新计算视图。在用户执行了会导致重新计算排名的项之后,我可能会将消息排队,并让工作进程继续运行并重新计算视图。这可以防止太多的工作人员试图一次更新数据。

相关内容

  • 没有找到相关文章

最新更新