Firebase REST API与JS客户端库

时间:2015-02-20 10:51:54

标签: firebase

我想获得一个列表(可能是100k +条目)作为只读值。

我可以使用:

firebaseRef.once('value', function(dataSnapshot) {
    // handle read data.
});

或者我可以通过向Firebase端点发出GET请求来获取数据:

https://docs-examples.firebaseio.com/rest/saving-data/fireblog/posts.json

在此只读方案中,REST API似乎始终比使用库更快。特别是在较大的数据集上。

这是为什么?如果我只想读取数据,是否有任何理由不使用GET请求方法?

1 个答案:

答案 0 :(得分:3)

firebaseRef.once()使用WebSocket。设置为重复事件观察者需要花费相同的时间,并且它不会受益于GET请求的可缓存性。它还使用了全局firebase auth状态,它比REST请求的auth参数更方便但更不灵活。

如果您已经为重复事件处理程序设置了WebSocket连接,那么once有时是获取最新数据的最便捷方式,这些数据无论如何都不会受益于缓存。但有时你必须深入到REST层才能完全优化性能。