怎么设计一个网站的永久链接

2016-11-21 18:28:05 +08:00
 sys64

如: 百度贴吧:
http://tieba.baidu.com/p/4855169060/
什么值得买:
http://www.smzdm.com/p/6664641/
v2ex:
https://www.v2ex.com/t/322033

这个后面的数字是通过什么规则生成的,还是直接用数据库的自增 id

4311 次点击
所在节点    Python
25 条回复
Tink
2016-11-22 08:54:59 +08:00
时间戳并不唯一
qiayue
2016-11-22 09:31:53 +08:00
@sys64
你只看到了 http://tieba.baidu.com/p/4855169060/ ,你觉得 4855169060 这么大的数不可能是自增 ID ,但是你没有考虑到贴吧的流量有多大,发帖量有多大。
最简单的, http://tieba.baidu.com/p/2 可以打开,而 http://tieba.baidu.com/p/1 提示“很抱歉,该贴已被删除。”,所以是帖子被删除了,而不是不曾存在过。
windowsma
2016-11-22 10:42:05 +08:00
@sys64 贴吧其实也是自增的,自增键确实是最简单、靠谱的方案。不过题主的要求也是可以实现的,不外乎就是时间戳、内部计数器组合成的,如果有多个业务或服务器,也可以把业务、服务器编号揉进来。内部计数器是不可少的,可以用 memecache 或 redis 实现,毕竟时间戳+随机数的形式也不能保证唯一。
如果嫌长度太长,可以转为 16 进制或自定义进制。
anyforever
2016-11-22 13:48:11 +08:00
自增就很好理解了, UUID ,放号器上面也有朋友提到,以下供参考
https://github.com/zheng-ji/goSnowFlake
https://github.com/osgochina/donkeyid
anyforever
2016-12-01 09:37:38 +08:00
恰巧又碰到一篇关于这个的 http://calvin1978.blogcn.com/articles/uuid.html
帖上来

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

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

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

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

© 2021 V2EX