每当我订阅某个数据库路径时,firebase Web客户端都会下载数据吗?

时间:2018-09-04 11:07:39

标签: angular firebase firebase-realtime-database

在我的角度应用程序中,我使用AngularFire访问Firebase实时数据库。

我有以下方法来检索特定数据库路径中的实体。

private db: AngularFireDatabase;

public getAll(): Observable<Item[]> {
    return this.db.list<Item>('some/db/path').valueChanges();
}

如果我多次调用上述方法,是否会多次从服务器下载数据,或者Firebase客户端第二次使用本地缓存?

如果多次下载数据,有什么方法可以指示Firebase客户端使用本地缓存?

1 个答案:

答案 0 :(得分:1)

Firebase实时数据库客户端对侦听器进行重复数据删除。这意味着:

this.db.list<Item>('some/db/path').valueChanges();
this.db.list<Item>('some/db/path').valueChanges();

上面的代码最初只会下载一次数据,每次更改仅下载一次增量。

请注意,您可以通过在浏览器的网络面板中查看Web套接字流量来自行检查。