GAE数据存储设计,用于存储用户状态的"like"机制(如Facebook的"likes")



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

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

对此或实现它的替代解决方案有什么建议吗?

> 分片不适用于这种情况。分片是为了避免在短时间内多次写入同一对象。对于"喜欢"计数器是有意义的,因为很多人都喜欢同一个帖子。在嘶吼谁喜欢什么时不一样。这些对象仅按用户更改,许多用户不共享同一对象。只需将它们存储在非分片表中,就像在 sql 中一样。

最新更新