如何实现一个高效的短链接系统设计?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1154个文字,预计阅读时间需要5分钟。
短链接系统可以将较长的URL转换为简短的网址字符串,短链接的优势在于便于传播。适用于字符串长度有要求,需要简化的场景,例如短信、微博等。例如:https://www.cnblogs.com/
短链接系统可以把比较长的 URL 网址转换成简短的网址字符串,短链接的优势是方便传播。适合在一些对字符串长度有要求的场景中使用,比如短信,微博等,比如
www.cnblogs.com/myshowtime/p/16227260.html
转换成短链接为
bit.ly/3z0QtB9
设计要求根据面试的要求,你需要设计一个短链接系统, 链接的长度尽量比较短,每天生成 1 亿个URL,服务要运行 10 年。
首先,我们看一下短链接的工作原理。
工作原理在 Chrome 上输入短链接,会发生什么?
打开开发者工具, 可以看到, 服务器收到请求后,会把短链接转换成长链接,然后返回浏览器,进行 301 重定向,请求到长链接地址。
另外一个问题,如何把长链接转换成短链接?
能否使用一些加密算法呢?明显是行不通的,因为字符串加密后会变的更长。
哈希算法实际上,我们可以使用哈希算法和哈希表实现,如下
长链接经过哈希算法后, 会生成固定长度的哈希值 key,也就是短链接的值,并保存到哈希表中。
使用短链接查询长链接时,只需要查询哈希表即可。
本文共计1154个文字,预计阅读时间需要5分钟。
短链接系统可以将较长的URL转换为简短的网址字符串,短链接的优势在于便于传播。适用于字符串长度有要求,需要简化的场景,例如短信、微博等。例如:https://www.cnblogs.com/
短链接系统可以把比较长的 URL 网址转换成简短的网址字符串,短链接的优势是方便传播。适合在一些对字符串长度有要求的场景中使用,比如短信,微博等,比如
www.cnblogs.com/myshowtime/p/16227260.html
转换成短链接为
bit.ly/3z0QtB9
设计要求根据面试的要求,你需要设计一个短链接系统, 链接的长度尽量比较短,每天生成 1 亿个URL,服务要运行 10 年。
首先,我们看一下短链接的工作原理。
工作原理在 Chrome 上输入短链接,会发生什么?
打开开发者工具, 可以看到, 服务器收到请求后,会把短链接转换成长链接,然后返回浏览器,进行 301 重定向,请求到长链接地址。
另外一个问题,如何把长链接转换成短链接?
能否使用一些加密算法呢?明显是行不通的,因为字符串加密后会变的更长。
哈希算法实际上,我们可以使用哈希算法和哈希表实现,如下
长链接经过哈希算法后, 会生成固定长度的哈希值 key,也就是短链接的值,并保存到哈希表中。
使用短链接查询长链接时,只需要查询哈希表即可。

