
如: 百度贴吧:
http://tieba.baidu.com/p/4855169060/
什么值得买:
http://www.smzdm.com/p/6664641/
v2ex:
t/322033
这个后面的数字是通过什么规则生成的,还是直接用数据库的自增 id
1 goofansu 2016-11-21 19:19:15 +08:00 v2 肯定是自增 id |
2 sys64 OP |
3 kslr 2016-11-21 20:30:52 +08:00 via Android 自增是个非常简单实用的解决方案。当然考虑到隐私保护或者大规模部署也有其解决方案,你可以搜搜 ID 策略。 |
4 lissome 2016-11-21 20:54:57 +08:00 自增序列挺好的 |
5 lhbc 2016-11-21 21:11:37 +08:00 via iPhone short uuid |
6 sys64 OP |
7 phithon 2016-11-21 22:20:27 +08:00 http://wiki.ioin.in/ 用的 hashids |
8 zhanglintc 2016-11-21 22:35:29 +08:00 |
9 zhanglintc 2016-11-21 22:36:01 +08:00 |
10 rogwan 2016-11-21 22:48:40 +08:00 via Android 稍微大一些的数据量,一般不建议用自增吧。不过一般的应用根本到不了自增 ID 是瓶颈的状态 LOL 据说有理想的是 随机数+uuid+时间戳 组合生成 ID ,看着有点长,其它没什么问题 |
11 windowsma 2016-11-21 23:25:10 +08:00 @sys64 您这个思维还是很独特的。。。只能说思维比较奇葩。 不过可以自己写个发号器,根据时间、密钥等,生成唯一 uuid 。微博就是这么做的 |
12 sys64 OP @windowsma 哦,请看我贴出的网址的 url ,如 http://tieba.baidu.com/p/4855169060/ 希望是短数字的不重复的。 |
14 sys64 OP @lhbc 谢谢的回复,不过这么说,那其实 unix timestamp 就是唯一的了,加不加自增 id 就无所谓了。自增 id 如果是数据库提供的话,那必须先查数据库(或由保存到数据库的时候返回的)才能得到。 |
15 nfroot 2016-11-22 01:16:35 +08:00 @sys64 unix timestamp 还不至于唯一。精确到毫秒也不至于唯一,但是可以 time()+rnd(time()) |
16 misaka19000 2016-11-22 01:54:18 +08:00 via Android 如果用的是 MySQL ,那么自增是个非常好的解决方案,如果因为某些原因用不了自增,那用 UUID 也可以 |
17 onlyhot 2016-11-22 04:11:47 +08:00 via iPhone id uid time |
18 Vicer 2016-11-22 08:30:21 +08:00 via Android UUID+unix timestamp |
19 wwek 2016-11-22 08:50:55 +08:00 规则上没有什么标准范式 我觉得豆瓣的设计的就不错 给你一个思路,把 URL 结构看成倒置树状结构 什么地方用文件夹,什么地方用文件你就非常清楚了 另外如果现在还考虑传统 SEO 的话,这个树应该是低而广阔的树,顾名思义就是目录不要深,摊开 |
20 wwek 2016-11-22 08:51:50 +08:00 ID 1. 自增 2. 放号器 |
21 Tink PRO 时间戳并不唯一 |
22 qiayue PRO @sys64 你只看到了 http://tieba.baidu.com/p/4855169060/ ,你觉得 4855169060 这么大的数不可能是自增 ID ,但是你没有考虑到贴吧的流量有多大,发帖量有多大。 最简单的, http://tieba.baidu.com/p/2 可以打开,而 http://tieba.baidu.com/p/1 提示“很抱歉,该贴已被删除。”,所以是帖子被删除了,而不是不曾存在过。 |
23 windowsma 2016-11-22 10:42:05 +08:00 @sys64 贴吧其实也是自增的,自增键确实是最简单、靠谱的方案。不过题主的要求也是可以实现的,不外乎就是时间戳、内部计数器组合成的,如果有多个业务或服务器,也可以把业务、服务器编号揉进来。内部计数器是不可少的,可以用 memecache 或 redis 实现,毕竟时间戳+随机数的形式也不能保证唯一。 如果嫌长度太长,可以转为 16 进制或自定义进制。 |
24 anyforever 2016-11-22 13:48:11 +08:00 自增就很好理解了, UUID ,放号器上面也有朋友提到,以下供参考 https://github.com/zheng-ji/goSnowFlake https://github.com/osgochina/donkeyid |
25 anyforever 2016-12-01 09:37:38 +08:00 恰巧又碰到一篇关于这个的 http://calvin1978.blogcn.com/articles/uuid.html 帖上来 |