mysql に多数の一意のインデックス可能な URL を保存したいと考えています。それらはユーザーによって書かれ、非常に広く受け入れられるので、ほとんど何でもそこに行きます。
しかし、私はすでに答えられたSO の質問も前の質問も好きではありません。実際には、そうするための「より良い」方法があるかもしれないと思いますが、これが意味することを完全には理解していないので、この質問をします.
この目的で tinyurl.com の API を使用する利点と欠点は何ですか? このリンクでは、これを行う方法に関する記事を見ることができます。それはまさにこのコードです(さらに短いかもしれませんが、私は関数でそれを好みます):
function createTinyUrl($strURL)
{
return file_get_contents("http://tinyurl.com/api-create.php?url=".$strURL);
}
次に、リンクの一意性を確認するためにインexample
のみを比較する必要があります。tinyurl.com/example
ウィキペディアの記事から、次のことがわかります。
URL が既に要求されている場合、TinyURL は重複するエントリを作成するのではなく、既存のエイリアスを返します。
短所 (基本的には集中型システムを使用する場合と同じ):
Tinyurl サーバーは、一時的または永久にダウンする可能性があります。念のため、完全な URL は別のインデックス化されていないフィールドに保存されます。
不可逆。あなたの URL から tinyurl を取得できますが、その逆はより困難です。ただし、最初の問題の解決策もこれを解決します。
私の場合、URL はプライベートではありませんが、これにより誰かがこのソリューションを使用できなくなる可能性があります。
遅れ。リクエストは少し遅くなるかもしれませんが、サーバーからサーバーへの通信であるため、これは気にならないでしょう。ただし、いくつかのベンチマークを行います。
この方法を使用して確認できるその他の欠点はありますか? これを使用する主な理由は、エントリを重複させずにインデックス可能にすることです。