每次获取实时数据库路径的数据时,Firebase Node.js Admin SDK都会每次下载数据

时间:2018-09-16 11:57:07

标签: node.js firebase firebase-realtime-database firebase-admin

我在nodejs服务器中使用firebase admin SDK。如果我多次下载某个实时数据库路径的数据,可以看出SDK每次都会下载该路径的数据。

firebaseAdmin.database().ref('some/path').on('value', snapshot => {

});

如果我使用firebase探查器,则显然SDK每次都会下载数据,因为探查器每次执行上述代码时都会显示数据使用情况。

是否有任何方法可以在admin SDK中启用实时数据库数据的持久性,以便SDK仅在该路径发生更改时才下载增量?

1 个答案:

答案 0 :(得分:0)

Android和iOS的Firebase数据库客户端具有两种类型的缓存:

  1. 当前拥有活动侦听器的所有数据的内存缓存。此缓存还避免了必须重新下载内存中已经存在的位置的数据。
  2. (可选)磁盘持久性,用于保存最近下载的数据。将侦听器附加到磁盘高速缓存中的某个位置时,会将初始数据从磁盘加载到内存,然后仅从服务器请求增量。

用于Node.js的 Firebase Admin SDK无法实现磁盘持久性。每次将侦听器连接到内存中尚没有的位置时,它将从该位置下载所有数据。

我以为我以前在github repo上看到过此功能请求,但现在不能。可能值得在那里或with the Firebase support team提交功能请求。

有关Firebase实时数据库的磁盘持久性的更多信息,请参阅: