我在项目中使用Firebase数据库
当我每次从DB读取数据时,我想构建一个界面来监视每个操作的数据大小。
我已经看过Firebase文档和堆栈溢出,但似乎没有任何相关的解决方案。
是否有计算数据大小的方法?通过firebase或客户端JS实现它,我也可以接受。它不一定要100%匹配如何计算带宽或大小,但大约80%的匹配也是可以接受的。
谢谢。
发布于 2018-10-11 19:13:58
计算下载数据的存储大小非常容易:只需JSON.stringify
下载的数据即可。所以就像这样:
ref.once("value", function(snapshot) {
console.log(JSON.stringify(snapshot.val()).length);
});
这将忽略外部框架本身的一面,因此您需要为其他所有内容添加snap.key().length
和'"":{}'.length
。
不幸的是,对于带宽,情况并不是那么容易。实际上,其中的一半也很简单,因为HTTP带宽非常接近我前面展示的JSON存储大小。您还可以在浏览器的“网络”选项卡中轻松地检查此选项卡,在该选项卡中,您可以看到发送和接收的确切Web套接字帧。
但是,棘手的一点来自于这样一个事实,即所有通信量都通过HTTPS进行协商,而协商该连接取决于连接而不是字节数。现代浏览器非常擅长打开和重用SSL连接,但它仍然是一个难以预测的因素,并且很少依赖于您(或Firebase)的代码。
https://stackoverflow.com/questions/52771106
复制相似问题