2017-09-16 238 views
0

我剛剛閱讀這個問題How to code a URL shortener?其中頂部答案的重點在於爲長網址獲取自動遞增的ID,然後具有從ID創建短網址的功能以及一個功能,回到短URL中的ID。從長網址獲取短網址

但是,這是否意味着如果您再次輸入相同的長URL來生成短URL,它會自動遞增到一個新的ID,並因此創建一個不同的短URL?

如果你想確保它返回的是相同的短URL,我認爲這意味着在數據庫上當前正在存儲一個只有'id'到'long url'的大散列表,你需要另一個索引散列表作爲'長URL'到'身份證'?

有沒有更有效的方法來做到這一點,而不是必須加倍的內存存儲?

回答

0

我有一個這樣的實現,所以基本上我爲特定的URL生成一個唯一的UUID作爲key和實際的url作爲value

爲了讓事情更加清楚,這裏是Github Link

在您的前端

<b><a href="{{***Value***}}">{{ **Key** }}</a></b>

+0

如何在你的情況下產生的獨特的UUID?仍然需要從URL – user2802557

+0

中獲取UUID的方法我正在使用python的uuid模塊來生成UUID,這裏是方法'str(uuid.uuid3(uuid.NAMESPACE_DNS,url))[ :7]' –

+0

由於UUID是從URL的散列生成的,這意味着UUIDS不總是唯一的,不是它是哪一個問題 – user2802557