首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么通常使用双射函数和递增数字序列来缩短URL?

为什么通常使用双射函数和递增数字序列来缩短URL?
EN

Stack Overflow用户
提问于 2014-06-27 05:30:09
回答 1查看 393关注 0票数 4

我已经阅读了问答How to code a URL shortener?,所有的数学知识都很有意义。我的问题是,既然您必须返回数据库/数据存储进行查找,为什么不在字母表中生成一个随机的短字符串,并将其与完整的URL一起存储在数据存储中,而不是将其转换回数字ID呢?

对我来说,这似乎省去了在服务器上做任何数学运算,降低了复杂性,并消除了短URL空间的“可遍历”(对于我的用例,这是至关重要的;URL不能被猜测)。如果使用为键>值查找而设计的NoSQL存储,那么从字符串而不是数字ID查找完整的URL值似乎不存在任何潜在的性能问题。

我想知道我是不是错过了什么。

EN

回答 1

Stack Overflow用户

发布于 2014-06-27 05:34:32

随机短字符串方法违反了缩短函数的双射特性。

给定两个URL ab以及您的缩短函数f,应该保证:如果a = b则为f(a) = f(b),但是,由于f生成一个随机值,因此违反了双射。

但是,如果您只是希望缩短任何特定的URL,并且不介意相同URL的后续缩短将生成不同的值,那么您上面概述的方法将会更有效。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24440589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档