网站短连接生成原理
短连接生成的两种方式
目前我所了解的短链接生成有两种方式
- 完全基于压缩算法,这样可以不使用数据库,直接使用压缩解压即可。
- 基于数据库存储长短链接直接的对应关系。
第二种方法,需要把长连接对应到一个唯一ID,通过把唯一的ID转化为62位的字符串(26个小写字母,26个大写字母加0-9十个数字), 唯一的ID按照62求余,求余数对应的62进制的字符,再把每个对应的字符链接起来.短链接一般6位,这样就可以表示62的6次方个url,500亿左右。把生成的唯一ID,短连接和长连接存储在nosql或者mysql中。
唯一的ID获取方式有以下几种
- 长url的crc32
- 数据量不大的时候可以用mysql数据库自增
- 也可以用时间戳加随机数,加一些特定的前缀,然后在crc32,获得一个数字,