当前位置:  开发笔记 > 编程语言 > 正文

如何生成Firebase ID?

如何解决《如何生成FirebaseID?》经验,为你挑选了1个好方法。

我们可以假设一下吗?它们是全球唯一的(跨所有Firebase)吗?有什么排序吗?客户重要吗?

是否有公共图书馆/文档,所以我也可以生成这些ID?

我指的是push产生的那些



1> David East..:

它上面有一篇博文,还有一个Gist.

从博客文章中,这是推送ID中的内容的核心:

推送ID包含120位信息.前48位是时间戳,它既降低了碰撞的可能性,又允许连续创建的推送ID按时间顺序排序.时间戳之后是72位随机性,这确保即使两个人在完全相同的毫秒内创建推送ID也极不可能生成相同的ID.对随机性的一个警告是,如果客户端在相同的毫秒内创建多个推送ID,为了保持按时间顺序排列,我们只需将随机位"递增"一.

要将我们的120位信息(时间戳+随机性)转换为可用作Firebase密钥的ID,我们基本上将其编码为ASCII字符,但我们使用修改后的base64字母表确保ID在订购时仍能正确排序按字典顺序排列(因为Firebase键是按字典顺序排序的).

另外值得注意的是,社区完成了几种不同语言的端口:

红宝石

PHP

蟒蛇

Java的

尼姆罗德

LUA

迅速

所以也许最好的学习方法是选择一种不在该列表上的语言并移植它!

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有