刚看了主题〈怎样选择 uid 生成策略?〉,讨论有关生成 ID 策略的问题。刚好最近写了一篇〈优雅简洁地实现短 ID 〉 主要就是有关 ID 生成的问题。其策略就是——时间序号+随机数,分别通过 62 进制将其变短。详情可以查看该文章。也在这里跟大家探讨。
1
murmur 2016-06-09 23:26:18 +08:00
我其实想问的是 这么长的 ID 如果放到数据库里做主键性能不会受影响么 mongo 我记得用的 id 都要保证放到树的一边保证性能吧
|
2
mrwong 2016-06-10 10:47:46 +08:00
直接 Snowflake ,各种实现都有
|
3
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 直接主键自动生成 |