实现一个自增发号器,每个长地址,发个短号,存储长短关系,请求短号时返回对应长号。
在[0-9]的10进制与[0-9a-zA-Z]的62进制之间转换。可以使号码很小。
大并发高可用?
并发量大还可以搞分布式。类似 snowflake。
一长对多短?还是一对一?
如有需要,可以暂时缓存长短对应hashtable,生成之前先查,以防重复。
跳转?
- 301:永久重定向。服务器压力小。短地址一经生成就不会变化,301符合http语义。
- 302:临时重定向。增加服务器压力,但可统计到短地址被点击的次数。