如何构建一个灵活的计数器,其中包含1000多行但在Google App Engine中读取的内容很少?

Ane*_*eon 5 python google-app-engine counter count google-cloud-datastore

我有一个只有管理员可以看到的用户列表(=几个读取).此列表还显示数据存储中的用户数.因为列表可能会大于1000,我首先想到的是避免正常计数()而是使用分片计数器.

然而,问题在于管理员还可以访问各种搜索过滤器(在GUI中),例如仅查看男性/女性用户等.计数反映这些过滤器非常重要,这样他们就可以获得女性用户,男性用户和无数其他组合的数量.

因此,分片计数器和高分辨率计数器没有分片似乎不是一个好主意,因为我需要为搜索过滤器的每个组合创建一个计数器.

我应该简单地创建一个count()方法循环,​​如此处所述,还是这种非常糟糕的做法?我怎么办呢?

请注意,此计数器用于管理界面,并且读取次数非常有限.这实际上是我希望牺牲一些读取性能以获得灵活性和准确性的情况.虽然它应该能够增长到1000以上,但预计不会超过10 000.

Ale*_*lli 2

“计数循环”很慢,但是现在您可以使用游标使其变得更好一些。通常,我建议对您需要的所有“过滤”计数器进行反规范化,但这会减慢用户添加和删除的速度(也可能减慢人口统计变化),因此,考虑到您的特定用例的读取量非常低,您可能可以摆脱“计数循环”方法(加上光标;-)。