今日头条这种超长 int id 是怎么生成的?
source link: https://www.v2ex.com/t/871587
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
难道其数据库的主键是 bigint 自增类型,该新闻在数据库中的 id 是“7129539941947671076”,可推断今日头条至少都有 7129539941947671076 篇文章了?不可能吧,那这种 id 是怎样生成的?
xieqiqiang00 7 小时 32 分钟前 有没有可能,这不是自增 id ?
而是类似 hash 的字符串? |
SuperXRay 7 小时 32 分钟前 为什么觉得是 int 的?
|
sarices 7 小时 32 分钟前 参考一下 美团 leaf 或者 Twitter 的雪花算法
|
zonyitoo 7 小时 30 分钟前 1 7129539941947671076 用 16 进制表示就是 0x62f136cda3c00224 ,可以发现恰好是 8 个字节 62f1 36cd a3c0 0224 。估计只是一个普通的 64-bits ID 而已,不一定是顺序生成的,里面应该包含了信息,比如时间戳之类的。
拍个脑袋,也许就是直接用 snowflake 生成的 :) |
ily433664 7 小时 30 分钟前 |
q1119145488 7 小时 29 分钟前 分布式 ID ,可以了解一下其中一种-雪花 id
|
xytest 7 小时 25 分钟前 Snowflake
|
nitmali 7 小时 21 分钟前 再不济 也应该是 long 嘛
|
fzdwx 7 小时 7 分钟前 19 位,属于正常的长度。
|
IDAEngine 7 小时 2 分钟前 Snowflake
|
yohole 6 小时 42 分钟前 确实,为啥 OP 会觉得是 int 啊?不解
|
FightPig 6 小时 36 分钟前 这肯定不是 int 的,分布式生成的 ID 吧
|
xbh1794970183564 6 小时 35 分钟前 用的是分布式生成器生成的,对应 go 中的 int64
|
Jooooooooo 6 小时 35 分钟前 很长的数字几乎都是雪花.
|
wu00 6 小时 28 分钟前 Snowflake
是顺序的 int 范围 -2147483648~2147483647 js 中 Number.MAX_VALUE=1.7976931348623157e+308 ,注意精度丢失问题 |
autulin 5 小时 48 分钟前 via iPhone 雪花算法+int64
|
WhateverYouLike 4 小时 36 分钟前 via Android @wu00 前两天写 js 就遇到了,丢精度
|
beordle 3 小时 51 分钟前 如果是数字的话,实际上你可以使用数字爬取到全部文章了,这是一个严重的安全漏洞。那么利用它,要不他不存在。你不妨试一试。
|
meteor957 3 小时 50 分钟前 是 char 吧
|
yujinchn 3 小时 40 分钟前 明显不是自带的自增 id 啊
|
mengyx 3 小时 29 分钟前 via Android 分布式 ID 生成器,基于时间、机器 ID 、序号等生成的 int64 ,类似的可以看看 Snowflake
|
vace 3 小时 11 分钟前 随便打开一个列表页面,在控制台输入下面的代码,就能获取到 64bit 的 snowflake ID 列表了。
```js $$('.title').map(t => t.href).filter(Boolean).map(t => t.match(/\/(\d+)\//)?.[1]).map(t => t && BigInt(t).toString(2)) ``` |
xiaoliu926 3 小时 5 分钟前 正好我司去年底数据库表 id 使用了雪花算法,生成的 id 就是随机一大串
|
xiaoliu926 3 小时 3 分钟前 可以肯定地说这就是数据库表的主键 id. Long 型
|
xuelu520 2 小时 37 分钟前 百度雪花算法。一个不规则 ID 生成算法。现在大部分都用的这个吧,简单高效,轮子也多。
|
Akitora 2 小时 31 分钟前 肯定不是连续的,推特也是这样,估计也有反爬虫的考量
|
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK