1

我只是陷入了一个设计问题。我想为表中的用户记录分配等级。他们在网站上执行一些操作,并根据排行榜给出排名。我想要的选择可能是前 10 名、用户的位置、今天登录的前 10 名等。

我只是找不到将其存储在 Azure 表中的方法。比我想在 blob 中存储自定义集合对象(排序列表)。

有什么建议么?

4

1 回答 1

1

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

于 2011-10-03T13:20:21.940 回答