新足迹

 找回密码
 注册

精华好帖回顾

· ^_^GIF...GIF...楼主生平第一回弄GIF动态图!5楼见真相^_^【最简单的新手入门粽子秘笈】——祝足友们端午快乐 (2012-6-23) 航迹云 · 这一天是属于你的。 (2013-9-12) mjyang
· 老陶之——上海小吃和凉菜 (2010-10-24) 老陶 · 岁月的眼睛 (2024-9-26) 小河
Advertisement
Advertisement
查看: 1603|回复: 10

有没有办法不用数据库实现一个短网址技术? [复制链接]

发表于 2011-11-10 10:38 |显示全部楼层
此文章由 righttang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 righttang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
现在的短网址技术,一般都是用真实的URL,换算成一个字符串,然后再数据库里查询,查到匹配的,然后做一个转发。
也就是说,换算是单向的

有没有办法不用数据库来实现这一个功能呢,让长URL和短URL可以通过一个算法互相转换?
Advertisement
Advertisement

发表于 2011-11-10 10:56 |显示全部楼层
此文章由 东北老乡 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 东北老乡 所有!转贴必须注明作者、出处和本声明,并保持内容完整
没怎么看明白你的问题. 如果你是指不用数据库查询的话, 你可以用代码或EXCEL,PROPERTY FILE来代替.

评分

参与人数 1积分 +2 收起 理由
righttang + 2 谢谢奉献

查看全部评分

发表于 2011-11-10 11:00 |显示全部楼层
此文章由 righttang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 righttang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 东北老乡 于 2011-11-10 10:56 发表
没怎么看明白你的问题. 如果你是指不用数据库查询的话, 你可以用代码或EXCEL,PROPERTY FILE来代替.


那还是数据库咯。

我是想这样做,比如说我有一个网址http://oursteps.com.au/bbs/post. ... page%3D1&page=1

然后我把他压缩成,http://oursteps.com.au/ABCDE,但是呢,我不想保留这个ABCDE到(bbs/post.php?action=reply&fid=123&tid=419779&repquote=7658177&extra=page%3D1&page=1)  的映射表
原因就是,我有几千万个网址都需要转换,如果表留这个表的话,那每次访问查询会很慢。

所以我想搞一个算法,直接能把bbs/post.php?action=reply&fid=123&tid=419779&repquote=7658177&extra=page%3D1&page=1) 和 (ABCDE)能够互相之间算来算去的。

我查了一下Gzip的技术,效果不是很理想,大概压缩80%,而且出来的字符浏览器也不能接受。

发表于 2011-11-10 11:20 |显示全部楼层
此文章由 东北老乡 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 东北老乡 所有!转贴必须注明作者、出处和本声明,并保持内容完整
用URL REWRITE试试 http://en.wikipedia.org/wiki/Rewrite_engine
.htaccess也许能行 http://corz.org/serv/tricks/htaccess2.php

[ 本帖最后由 东北老乡 于 2011-11-10 11:28 编辑 ]

评分

参与人数 1积分 +2 收起 理由
righttang + 2 谢谢奉献

查看全部评分

退役斑竹 2007 年度奖章获得者 2008年度奖章获得者 特殊贡献奖章 参与宝库编辑功臣

发表于 2011-11-10 11:22 |显示全部楼层
此文章由 黑山老妖 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 黑山老妖 所有!转贴必须注明作者、出处和本声明,并保持内容完整
那就要用lossless compression。而且是要符合URL字符要求的output。我觉得不太可能。
等quantum computer。。。

评分

参与人数 1积分 +2 收起 理由
righttang + 2 谢谢奉献

查看全部评分

发表于 2011-11-10 11:35 |显示全部楼层
此文章由 righttang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 righttang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
那,如果用数据库的话,有啥企业级的短域名服务器推荐的么?要是能架在weblogic上就最好了~搜来搜去都是PHP的
我测测性能也行
Advertisement
Advertisement

发表于 2011-11-10 16:52 |显示全部楼层
此文章由 鱼羊鲜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 鱼羊鲜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
短网址压缩程序 单文件无需数据库

如何实现无需数据库的呢? bit.ly、goo.gl、is.gd、tinyurl.com四个网址压缩网站接口,可以任选一个,默认是bit.ly。如果你的域名是abc.com,那么输入很长的网址压缩后会生成http://abc.com/abcdef 这样的短网址,当打开这个网址的时候会访问对应的http://bit.ly/abcdef, 然后再访问被压缩的长网址,虽然经过了多一次转跳,但是速度仍然还是很快的。(monkey22)

评分

参与人数 1积分 +2 收起 理由
righttang + 2 谢谢奉献

查看全部评分

发表于 2011-11-10 20:42 |显示全部楼层
此文章由 Fernando 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Fernando 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你这要求,现在各种NoSQL就可以了吧
MySQL肯定也能用

评分

参与人数 1积分 +2 收起 理由
righttang + 2 谢谢奉献,估计我们的架构师不会同意

查看全部评分

发表于 2011-11-10 21:05 |显示全部楼层
此文章由 ala 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ala 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Apache Solr

评分

参与人数 1积分 +2 收起 理由
righttang + 2 谢谢奉献

查看全部评分

头像被屏蔽

禁止发言

发表于 2011-11-10 22:04 |显示全部楼层
此文章由 linkspeed 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 linkspeed 所有!转贴必须注明作者、出处和本声明,并保持内容完整
楼主要的是一种加密兼压缩字符串数量的算法,
可以把任意一串字符串转换成一个比较短的字符串,
而且转回来。这样就不需要数据库里存成对应关系了。

我怀疑是没有的,因为一个固定长度的字符串的排列组合是有限个,
URL是无限的。

评分

参与人数 1积分 +2 收起 理由
righttang + 2 谢谢奉献

查看全部评分

发表于 2011-11-10 22:32 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
google 2-way hash table or dictionary, there are solutions

评分

参与人数 1积分 +2 收起 理由
righttang + 2 谢谢奉献

查看全部评分

Advertisement
Advertisement

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部