DatabaseReference#push() 方法在不同位置有何不同?

How DatabaseReference#push() method differs from location to location?

使用 Firebase 数据库时,我可以使用 DatabaseReference 对象的 push() 方法生成密钥,如下面的代码片段所示:

FirebaseDatabase.getInstance().getReference("/location").push().getKey();

FirebaseDatabase.getInstance().getReference().push().getKey();

以上用法有区别吗?

请注意,我只关心密钥,而不关心从 push

返回的 DatabaseReference

push 方法是否会对我的在线 Firebase 数据库产生副作用?

push() 方法是一种纯客户端操作,它生成的键按时间顺序、字典顺序排序并在统计上保证是唯一的。

(目前)在一个位置或另一个位置调用 push() 没有区别。生成密钥的方法完全相同,不依赖于位置。

有关 Firebase 推送 ID 的更多信息,我建议阅读博客 post The 2^120 Ways to Ensure Unique Identifiers