0

我想在 mysql 中存储大量唯一的、可索引的 url。它们将由用户编写,并具有非常广泛的接受度,因此几乎所有内容都会出现。

但我不喜欢已经回答的SO question也不喜欢它的前身。实际上,我认为这样做可能有一种“更好”的方法,但我并不完全明白这一点的含义,所以这就是我问这个问题的原因。

为此目的使用 tinyurl.com 的 API 有哪些优点/缺点?在此链接中,我们可以看到有关如何执行此操作的文章。只是这段代码(可能更短,但我更喜欢在函数中使用它):

function createTinyUrl($strURL)
  {
  return file_get_contents("http://tinyurl.com/api-create.php?url=".$strURL);
  }

然后我只需要比较exampleintinyurl.com/example来检查链接的唯一性。从维基百科文章中,我们可以阅读:

如果 URL 已经被请求,TinyURL 将返回现有的别名而不是创建一个重复的条目。

缺点(与使用任何集中式系统基本相同):

  • Tinyurl 服务器可能会暂时或永久关闭。以防万一,完整的 url 将存储在另一个未索引的字段中。

  • 不可逆。你可以从你的 url 中得到一个 tinyurl,但反过来更难。但是,第一个问题的解决方案也解决了这个问题。

  • 就我而言,网址不是私有的,但这可能会阻止某人使用此解决方案。

  • 延迟。请求可能会慢一些,但由于它是服务器到服务器的对话,我认为这不会很明显。不过会做一些基准测试。

使用此方法可以看到任何其他缺点?使用它的主要原因是没有重复的条目并使它们可索引。

4

1 回答 1

0

正如用户 eggyal 所建议的,完整 URI 的基于哈希的索引与使用 Tinyurl API 非常相似,只是我不需要在任何地方发送数据。那我就用那个。

注意:此答案仅用于为问题添加闭包

于 2013-04-08T23:12:42.580 回答