用ttserver實現微博的簡短url

 在新浪微博裏常常會看到http://sinaurl.cn/xxx,這種簡短的url。用這種方式去代替換http://test.test/xxx/xxxx/xxx.php?xxx=333,不但可以節省字段,還可以有效的防止垃圾廣告。

 

實現的原理比較簡單,只需要兩個字段就可以,一個是key,唯一值(如id),另一個是value(如url)。單單靠數據庫(mysql)也可以實現,但對於高併發的網站來說,肯定不行,所以可以使用ttserver。它是日本人開發的一個key-value數據庫,支持高併發和分佈式存儲。實現這種簡短url是最好不過了。。

 

首先創建表

CREATE TABLE IF NOT EXISTS `url` (
 `id` int (11) NOT NULL primary key auto_increment,
 `tiny` char (10)  NOT NULL ,
`url` text NOT NULL ,
UNIQUE KEY `tiny` (`tiny`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

然後使用php自帶的函數dechex將自增id轉爲十六進制
 
結果爲:a98ac7
然後將結果存到ttserver 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章