我正在React Native中构建一个游戏,用户每6秒左右生成一张卡片。然后,这些卡通过我设置的Firebase连接上传到Google Firestore。
用户以每6秒1张的速度生成卡片:每6秒1张=每分钟10张=每小时600张。按照Google Firebase的默认配额,即每天20,000次免费写操作,我已经超过了一个小时只能使用34人的每日最大允许使用次数。
为了解决这个问题,我实施了一个临时解决方案,将卡及其数据通过AsyncStorage存储在用户的本地存储中,然后在“溢出”超过一定限制时上传。我的代码大致如下:
// Retrieve the user's inventory.
// Add the new card to the inventory.
// If the inventory length is greater than 15, batch write it all up to Firestore.
这是处理大量快速出现的数据的安全有效的方法吗?
答案 0 :(得分:0)
批量写入将不能帮助您减少编写文档所需的记帐写操作次数。批量写入5个文档仍然需要5次写入,就像您单独编写它们一样。
在这种情况下,您实际上无能为力,只是将所有写入委托给一个单独的实体,该实体负责根据您指定的任何限制对写入进行计量。那时,您还花了钱来实现这一目标,因此,您不妨只需支付正常的计费费率,即可节省自己的时间和麻烦,以免超出免费限额。免费限制可让您在开发过程中试用产品,而不运行生产应用程序。