如果我的纪元时间是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