有关 ID 生成策略的探讨

2016-06-09 23:16:24 +08:00
 zzzhan

刚看了主题〈怎样选择 uid 生成策略?〉,讨论有关生成 ID 策略的问题。刚好最近写了一篇〈优雅简洁地实现短 ID 〉 主要就是有关 ID 生成的问题。其策略就是——时间序号+随机数,分别通过 62 进制将其变短。详情可以查看该文章。也在这里跟大家探讨。

3187 次点击
所在节点    程序员
3 条回复
murmur
2016-06-09 23:26:18 +08:00
我其实想问的是 这么长的 ID 如果放到数据库里做主键性能不会受影响么 mongo 我记得用的 id 都要保证放到树的一边保证性能吧
mrwong
2016-06-10 10:47:46 +08:00
直接 Snowflake ,各种实现都有
notgod
2016-06-10 14:41:22 +08:00
foreach (range('a', 'z') as $letter) {
echo $letter;
}

$string = 'a';
while ($string != 'aaaaa') {
echo $string++,PHP_EOL;
}

使用 Redis 存储 加个判断
要多少有多少

aa ab ac
什么
aa ab az a1 a9
aaa aa1 a11

这种链接不是更短
逻辑生成 做全局


uid 生成是个伪命题
99%的网站 数据量都不大
除了大网站 和一些特殊应用 根本用不到这玩意

所有 CMS 都 N 级 1 2 3 数字 mysql 直接主键自动生成

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/284694

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX