Android:Firebase 实时数据库有连接池吗?
Posted
技术标签:
【中文标题】Android:Firebase 实时数据库有连接池吗?【英文标题】:Android: Firebase realtime database has any connection pooling? 【发布时间】:2018-09-24 18:05:10 【问题描述】:我正在使用 Firebase 的实时数据库。以下是我的使用方法。
private void saveInDatabase(String email)
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("user");
String key = myRef.push().getKey();
User user = new User();
user.setCountry("United States");
user.setEmail(email);
user.setFirstName("John");
user.setLastName("Doh");
user.setGender("Male");
myRef.child(key).setValue(user);
现在,事情就是这样。在 Firebase 控制台中,我们可以看到“使用情况”和“同时实时连接的数量”。我注意到这个“同时实时连接数”对我来说始终是 1,无论我是否在 2 部手机中安装了该应用程序,是否关闭了与 database.goOffline()
的连接,或者我是否关闭了手机。
那么这到底是如何工作的呢?有连接池吗?根据我看到的一些线程,1 个连接 = 一个使用该连接的设备,在这种情况下,如果我有 1,000,000 个用户,那么我有 1,000,000 个连接?我不信!!
【问题讨论】:
我也不确定它是如何工作的,但我也很好奇。手机是否使用相同的 WiFi 网络?也许如果您在其中一个中使用不同的互联网连接,您会看到连接数量发生了变化。我在图中注意到的另一件事是,它不显示当前的同时连接数,而是显示每天的峰值同时连接数,在顶部显示历史上的最大峰值。 @AarónBC.:刚刚试过。我的还是一样 【参考方案1】:客户端 SDK 为与服务器端的所有通信维护一个 websocket。如果不再使用该应用程序,此连接可能会关闭。如果应用进程没有运行,或者浏览器选项卡已关闭,它肯定会关闭。
活动连接图表并未显示活动连接数量的完美实时测量。您应该仅将其用作衡量您的数据库随着时间的推移获得多少活动的一般指标。
【讨论】:
以上是关于Android:Firebase 实时数据库有连接池吗?的主要内容,如果未能解决你的问题,请参考以下文章
Android - Firestore/Firebase 实时数据库“.info/connected”返回错误的连接状态