在新浪微博里常常会看到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
本文介绍了一种用于生成短链接的方法,通过将长URL转换为简短形式,不仅可以节省字符空间,还能有效减少垃圾广告。利用MySQL数据库存储长链接及其对应的短链接,并采用PHP函数将自增长ID转换为十六进制字符串作为短链接标识。

955

被折叠的 条评论
为什么被折叠?



