Firebase数据库以编程方式检查下载的数据大小

时间:2018-10-12 01:49:49

标签: javascript firebase firebase-realtime-database

我正在为项目使用Firebase数据库

每次从DB读取操作时,我都想构建一个接口来监视每个操作的数据大小。

我已经遍历了Firebase文档和stackoverflow,但似乎没有任何相关的解决方案。

是否有计算数据大小的方法?通过firebase SDK或我也可以接受的客户端JS实现它。不需要与Firebase计算带宽或大小的方式100%匹配,但也可以接受80%的匹配。

谢谢。

1 个答案:

答案 0 :(得分:0)

计算下载数据的存储大小非常容易:只需JSON.stringify下载的数据。像这样:

ref.once("value", function(snapshot) {
  console.log(JSON.stringify(snapshot.val()).length);
});

这会错过外部框架本身的侧面,因此您需要为其他所有内容添加snap.key().length'"":{}'.length

不幸的是,对于带宽而言,情况并不容易。实际上,其中一半是一样容易的,因为HTTP带宽非常接近我上面显示的JSON存储大小。您还可以在浏览器的“网络”选项卡中轻松地检查此设置,在此处可以查看发送和接收的确切Web套接字框架。

但是棘手的一点是所有流量都通过HTTP S 进行,协商SSL连接取决于连接而不是字节数。现代浏览器在保持SSL连接打开和重用方面相当擅长,但这仍然是一个难以预测的因素,并且几乎与您(或Firebase的)代码无关。