Firebase数据库监听器对相同及父子路径是否优化?多监听器读取次数是多少?
Firebase Realtime Database监听器的路径优化说明
针对你列出的监听器代码:
FirebaseDatabase.instance.ref.child('users').onValue()... FirebaseDatabase.instance.ref.child('users').onValue()... FirebaseDatabase.instance.ref.child('users/1').onValue()...
Firebase Realtime Database做了明确的优化,具体数据读取情况如下:
- 针对两个监听相同路径
users的onValue()监听器:Firebase只会从服务器读取1次完整的users节点数据,后续该路径的所有更新都会同时推送给这两个监听器,不会重复发起服务器请求。 - 针对监听子路径
users/1的监听器:如果users节点已经通过前两个监听器加载到本地缓存,Firebase不会再向服务器请求users/1的数据,直接从本地缓存提取对应子节点的内容,不会产生额外的服务器读取操作。
综上,服务器端总共只需要读取1次数据。
内容的提问来源于stack exchange,提问作者Robin Dijkhof
相关产品推荐
相关产品推荐

