0

我正在使用 Google App Engine 的数据存储并为用户状态的“喜欢”功能寻找设计解决方案(类似于 Facebook“喜欢”)

我浏览了分片计数器的概念 ( https://developers.google.com/appengine/articles/sharding_counters ),发现它很好,适合计算喜欢的次数,您可以在其中增加或减少计数。但我想存储喜欢该状态的用户 ID。所以我尝试了相同的分片概念来存储用户 ID,但面临以下问题,* 首先,像计数一样分片用户 ID 列表是否很好?* 如果是这样,当用户不喜欢它时,我已经从共享列表中删除了用户 ID。为此,我需要遍历所有分片数据存储并执行 userId 检查并删除

关于这个或替代解决方案的任何建议来实现它?

4

1 回答 1

0

分片不适用于这种情况。分片是为了避免在短时间内对同一个对象进行多次写入。因为很多人都喜欢同一个帖子,所以对于“点赞”计数器来说是有意义的。搜索谁喜欢什么时不一样。这些对象仅根据每个用户更改,许多用户不共享相同的对象。只需将它们存储在非分片表中,就像在 sql 中一样。

于 2013-10-11T14:20:24.657 回答