Firebase RTDB的成本是根据下载大小(而不是操作次数)计算的。
当您获取数据时,就像在这个伪代码数据库. child(path 1).child(path 2).getData()
中一样,它还会获取每个值(键值对)的键。以及每个单个路径,包括ath1
和ath2
。键值对中的键实际上也只是路径。
这些路径是否用于计算定价的下载大小?
我的目标是这个:
假设您加载100万这类键值对:每个值都是布尔值。但是每个键都是一个200个字符长的字符串。
如果键是10个字符长的字符串,会不会更便宜?
由于路径名是从服务器发送到客户端的,因此使用较长的路径名会产生成本。我肯定见过使用单字符键名称来降低成本的项目。
是否值得纯粹为了节省成本而选择较短的路径名,只有您自己才能决定。
还要考虑你的应用程序是否真的应该读取一百万个键值对。你真的要向用户显示所有这些吗?一般来说:将数据存储在屏幕上显示给用户的附近,然后只加载你在当前屏幕上显示的数据。