我应该在我的项目中使用 Instagram postgressql id 生成器技术吗?



如果我的纪元时间是2019-11-11。我可以使用Instagram技术生成独特的多少年。有人可以解释一下这个算法是如何工作的。 https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c?gi=a23b1b9c6107

您喜欢的文章中的此信息:

我们的每个 ID 都包含:

41 位时间(以
  • 毫秒为单位((为我们提供 41 年的自定义纪元 ID(

因此:

  • 41 位提供 2^41=2199023255552 种可能性,
  • 每天有 1000*60
  • *60*24=86400000 毫秒,
  • 他们可以生成 2199023255552/86400000≈25451 天,
  • 这意味着 25451/365.25≈69 年。

如果您需要确切的答案 - 纪元为"2019-11-11 00:00 UTC"的算法有效期至 2089 年 7 月 17 日下午:

=> select '2019-11-11 00:00 UTC'::timestamptz+2^41*'1ms'::interval;
2089-07-17 15:47:35.552+00

相关内容

最新更新