Firebase REST API 与 JS 客户端库
Firebase REST API vs JS Client Library
我想获取一个列表(可能超过 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请求方式?
firebaseRef.once()
使用 WebSocket。设置为重复事件观察器需要花费很多时间,并且它不会从 GET 请求的可缓存性中获益。它还利用了全局 firebase 身份验证状态,这比 REST 请求的 auth
参数更方便但灵活性较低。
如果您已经为重复事件处理程序设置了 WebSocket 连接,once
有时是获取最新数据的最便捷方式,这些数据无论如何都无法从缓存中获益。但有时您必须深入 REST 层才能全面优化性能。
我想获取一个列表(可能超过 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请求方式?
firebaseRef.once()
使用 WebSocket。设置为重复事件观察器需要花费很多时间,并且它不会从 GET 请求的可缓存性中获益。它还利用了全局 firebase 身份验证状态,这比 REST 请求的 auth
参数更方便但灵活性较低。
如果您已经为重复事件处理程序设置了 WebSocket 连接,once
有时是获取最新数据的最便捷方式,这些数据无论如何都无法从缓存中获益。但有时您必须深入 REST 层才能全面优化性能。