使用tinyurl或类似工具将URL存储在mysql中

时间:2012-11-18 21:07:07

标签: mysql url tinyurl

我想在mysql中存储大量独特的可索引URL。它们将由用户编写并且将得到广泛接受,因此几乎任何事情都会在那里进行。

但我不喜欢已经回复的SO questionit's predecessor。实际上我认为可能有一种“更好”的方式,但我并没有完全看到这种含义,所以这就是我提出这个问题的原因。

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

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

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

  

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

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

  • Tinyurl服务器可能暂时或永久停机。以防万一,完整的网址将存储在另一个未编入索引的字段中。

  • 不可逆。你可以从你的网址获得一个小小的,但另一方面则更难。但是,第一个问题的解决方案也解决了这个问题。

  • 在我的情况下,网址不是私密的,但这可能会阻止某人使用此解决方案。

  • 延迟。请求可能会慢一些,但由于它是服务器与服务器通话,我认为这不会引人注意。虽然会做一些基准测试。

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

1 个答案:

答案 0 :(得分:0)

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

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