如何减少Flutter App中的Firestore读取?

时间:2019-08-24 02:03:55

标签: android firebase flutter google-cloud-firestore

  

注意:我是Flutter,Android和Firebase的新手。

因此,我有一个徽标Maker App,诸如脸,帽子等资产(PNG图片)存储在firestore数据库中。我的数据库中目前总共有71个文档。

当前,我使用cached_network_image插件。使用此插件,单个用户的图像将只读一次。从下一次开始,图像将从缓存存储中检索。但是图像标题的检索仍然是一个问题。

仍然,对于单个用户,我可以获得约100次读取!这是我的数据库的架构。

Kinda不同部分的明显不同的收藏,一张图像的一份文档。 Database Schema

使用StreamBuilder检索数据,

Code code 2

有什么办法可以通过代码或更改数据库架构或其他方式来减少读取请求的数量?

1 个答案:

答案 0 :(得分:0)

您可能要考虑的一个选项是将内容合并到更少的文档中。

我不确定您打算如何使用数据库中的这些数据,但您的主要用例似乎是“从人脸集合中读取所有内容并将其显示在列表中”。如果是这种情况(并且这些记录相对较小),您是否需要将每张面孔都放在一个单独的文档中?如果您不打算对该列表进行分页,或者不搜索和检索该集合的子集,则可以创建一个包含所有面部数据的 JSON 对象并将其放入单个文档中。

对其他每条记录执行此操作,您的文档数量已从大约 71 个减少到 7 个。节省 10 倍!