第一站 - 轻松上网从此开始!

上网第一站

当前位置: > SEO >

短网址(short URL)系统的原理及其实现(2)

时间:2017-11-22 14:27来源:segmentfault 作者:跌名 点击: 我来投稿获取授权
以下内容来自网络或网友投稿,www.swdyz.com不承担连带责任,如有侵权问题请联系我删除。投稿如果是首发请注明‘第一站首发’。如果你对本站有什么好的要求或建议。那么都非常感谢你能-联系我|版权认领
但是自增序列算法是和 id 绑定的,如果允许自定义短码就会占用之后的短码,之后的 id 要生成短码的时候就发现短码已经被用了,那么 id 自增一对一不冲

  但是自增序列算法是和 id 绑定的,如果允许自定义短码就会占用之后的短码,之后的 id 要生成短码的时候就发现短码已经被用了,那么 id 自增一对一不冲突的优势就体现不出来了。

  那么怎么实现自定义短码呐?

  我是这样处理的:

  数据库增加一个类型 type 字段,用来标记短码是用户自定义生成的,还是系统自动生成的。

  如果有用户自定义过短码,把它的类型标记自定义。每次根据 id 计算短码的时候,如果发现对应的短码被占用了,就从类型为自定义的记录里选取一条记录,用它的 id 去计算短码。

  这样既可以区分哪些长连接是用户自己定义还是系统自动生成的,还可以不浪费被自定义短码占用的 id

  我保留了 1 到 2 位的 短码,从三位的短码开始生成的。就像域名的保留域名一样,好的要自己预留 :smirk:

  

短网址(short URL)系统的原理及其实现

  数据表设计

  links 表

  

短网址(short URL)系统的原理及其实现

  后期功能扩展

  统计:点击量、访问的 ip 地域、用户使用的设备

  管理后台:删除、数据量

  登录:权限管理

  设置密码:输入密码才可以继续访问

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发布者资料
第一站编辑 查看详细资料 发送留言 加为好友 用户等级:注册会员 注册时间:2012-05-22 19:05 最后登录:2014-08-08 03:08
栏目列表
推荐内容
分享按鈕