algorithm - 如何创建将相同的长 url 映射到相同的短 url 的 URL 缩短器?
问题描述
我一直在阅读有关 URL 缩短器的信息,并且我一直遇到一个常见问题,但我不知道如何解决。
给定一个长 URL,将其转换为短 URL 的方法之一:
- 给定一个 id:id
- 计算 base62(id):shortForm
- 将 {
id
=>shortForm
,longUrl
} 存储在以 id 为键的数据库中 - 返回域/短格式
Id
是一个自动递增的数字或从可用密钥存储中选择的数字(给定可扩展的需求)。但是,如果Id
以其中任何一种方式选择,并且如果我指定https://google.com
两次,则算法将选择两个不同id
的并产生不同的shortForm
在大多数服务中,我看到情况并非如此。我想知道如何为相同的 longUrl 实现相同的 shortForm ?
解决方案
推荐阅读
- tsql - 选择值,即使 LEFT JOIN 上为 NULL
- reactjs - Reactjs - 多项选择题 - 将状态存储为数组
- javascript - 如何使用姓名或电话号码搜索 facebook 和 Linkedin 用户
- django - Django Migration 运行没有错误,但数据库未更改
- ios - 如何通过 google map sdk for ios 获取自行车和公交信息
- reactjs - 如何在 React 的不同路由上使用组件?
- java - 这是“增加” ArrayList 大小的最佳方法吗?
- ios - CollectionView 重新加载数据不能快速 ios?
- javascript - 单击 chrome 扩展图标时在新窗口中打开当前页面 URL
- postgresql - Postgres Include 抛出“名称”:“SequelizeEagerLoadingError”