我使用Stack Overflow中所述的双射函数算法构建了一个URL缩短器。我的数据库表有两列:ID和URL。对于每个输入URL,ID自动递增,其值被转换为base62。这个值构成短链的段塞。
示例:,如果ID是42,那么它的base62形式是g (可能根据字母集不同)。所以缩短的网址是https://example.com/g。
现在,我想在用户选择自定义URL段塞的地方添加自定义URL支持。我可以创建另一个表来存储自定义URL,然后检查两个表中是否有匹配的段塞。但这似乎相当低效。
任何人都能提供有效的解决方案吗?
我使用的是PHP和MySQL。
发布于 2017-02-02 20:16:16
如果它是自然生成的,您可以将它反向映射到它所占用的相应ID,请记住这一点:
在增加ID变量之前,您可以确保它将增加的条目不会被输入对应于该ID的段塞填充,如果是这样的话,请一直递增ID列,直到找到一个新的唯一值。
https://stackoverflow.com/questions/42003880
复制相似问题