設計短鏈結系統

2021-10-09 00:10:46 字數 1042 閱讀 8260

短鏈結轉換是將任意乙個長的 url 如 轉為乙個固定長度的url,如itlym.cn/sd5d1r,並可以通過訪問短 url 來跳轉到長url上。

呼叫簡訊服務傳送簡訊時,會有字數限制或因字數長短收取不同費用。

如何設計乙個可靠的短鏈結系統

由於url字元限制,推薦為大小寫字母加數字,共62種字元。一般 6-7 位即可滿足大多數場景。

一對一還是一對多對映?

一般而言,採用 1對1 能夠極大的減少儲存空間,但是若採用 1-n 的關係,可以統計更多的資訊,如短鏈結建立使用者,建立時間、真實鏈結的訪問是通過誰分享的等,短鏈結最有價值的地方其實就在於訪問統計,因此採用一對多的方式是較好的。

根據正常訪問量計算,一般來說,傳統的關係型資料庫足夠了,如果是短鏈結提供商,可能需要快取

字段含義

id一般為短鏈結或其對應的 long

url真實源連線

uid生成這條記錄的使用者標識

password

短鏈結訪問密碼

visit_num

訪問次數

status

狀態:啟用、過期、遮蔽等

tag標籤,用於分類

create_time

建立時間

update_time

更新時間(密碼、狀態)

為了提高系統的效能,可以進行如下設計

業務增長或遭到攻擊會導致生成大量短鏈結,如何優化?

短鏈結系統必須要防範攻擊!

設計中可以根據自身需要,合理決定是否要包含以下需求

增值服務

允許使用者自定義短鏈結

還需要考慮如下

在服務端渲染乙個簡單的網頁,內嵌乙個 iframe 用於開啟目標**

如果不是特殊需要,可以採用已有的解決方案

私有部署

系統設計 短鏈結系統 short url

最近看了一些關於短址 short url 方面的一些部落格,有些部落格說到一些好的東西,但是,也不是很全,所以,這篇部落格算是對其它部落格的乙個總結吧 短址,顧名思義,就是把長的 url 轉成短的 url,現在提供這種服務的有很多公司,我們以google家的 url shortener 服務 為例。...

php實現短鏈結系統

實現思路 將傳入的長鏈結存入資料庫中,並記錄建立時間,返回自增id。將返回的id進行10進製轉64進製編碼 如自增id為10時,64進製轉換為a 即使當我們記錄到1億條時,1億的64進製為 f9eea,才5個字元長度,非常適合作為短鏈結的引數。然後組合成 http 網域名稱 編碼引數 我們既得到了短...

短Url 系統設計

方案一 自己寫演算法,把長url 轉換為短的 1 10,a z,a z 62個元素。這有點難啊,需要跑多久。並且對方輸入的url長度的不固定,所以,很難。方案二 表的對映,使用k v,形式。乙個短的key,去對映長的url,長的url依然還是那個url,只不過起了乙個外號 別名 注意 1.key的唯...