嘿,所以在我目前的feed数据库设计中,我使用redis缓存进行超快速读取,这是通过我的google云函数路由的。redis数据库处理所有的post数据和时间线更新,这非常棒,但是我忘记了其中一个最重要的警告。firebase firestore每秒只允许写入一个文档,这意味着如果我有一个存储post数据的文档(post\u id、user\u id、content、like\u count),like\u count将无法跟踪,每秒可能有许多like。有人有什么解决办法吗?
嘿,所以在我目前的feed数据库设计中,我使用redis缓存进行超快速读取,这是通过我的google云函数路由的。redis数据库处理所有的post数据和时间线更新,这非常棒,但是我忘记了其中一个最重要的警告。firebase firestore每秒只允许写入一个文档,这意味着如果我有一个存储post数据的文档(post\u id、user\u id、content、like\u count),like\u count将无法跟踪,每秒可能有许多like。有人有什么解决办法吗?
1条答案
按热度按时间8fq7wneg1#
您可以在多个文档中切分计数器,并根据需要汇总查询它们。
您还可以尝试使用云任务队列来平滑写入频率。它将给系统增加相当大的复杂性,但实际上是gcp中唯一一种管理某些工作速率的通用方法。但是,这可能不是您需要的方式。
如果您使用云任务,那么您的任务将需要配置一个速率限制,并且它必须将要写入的文档数据传递到另一个函数或将执行写入的其他http端点。