long startTime = System.currentTimeMillis();
FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference ref = database.getReference("server/saving-data/fireblog/users");
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String prevChildKey) {
User newPost = dataSnapshot.getValue(User.class);
System.out.println("Username: " + newPost.getUsername());
long stopTime = System.currentTimeMillis();
long elapsedTime = stopTime - startTime;
System.out.println("elapsedTime=" + elapsedTime);
}
// ...
});
至少需要2秒钟才能读取节点的数据。但是使用本地MySQL只需大约200毫秒。它仅在第一次发生,然后他们将以超快的速度读取。为什么?那么使用Firebase实时数据库有什么意义呢?我可以将整个网络应用程序上传到Firebase并使其更快吗?
答案 0 :(得分:2)
至少:Firebase将自动监视server/saving-data/fireblog/users
的更改,并在数据更改时调用onChild...
方法。这就要求它在服务器和客户端之间保持开放的连接,而默认的MySQL安装不会这样做。