mongodb ObjectId 最后3个字节的随机数到底支持产生多少个唯一的ID?

在书上描述的是:同一秒钟最多允许每个进程拥有2563(16 777 216)个不同的ObjectId。24位的随机数最大是16777216,但是为什么是在括号里,括号外的2563又是怎么计算出来的?

阅读 3k
3 个回答

这书搞笑了,复制的时候格式复制没了.
是256^3,也就是2^(8*3)=2^24
我发现这个数在百度搜一下能搜出很多无脑复制的文章,中文博客质量堪忧啊.

简单地说,不知道2563怎么算出来的。什么书?有没有上下文?
我的理解就是2的24次方个整数,因为这是一个计数器(Counter),这是MongoDB Driver Spec给定的定义。但是实际执行中,有些语言可能没有办法高效地生成数字序列,所以采用了随机数,可能在2的24次方前就会有重复出现的情况。但是这样的情况又没有办法算出具体的数字。所以,还是不知道怎么算出来的……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进