首页 新闻 搜索 专区 学院

很多网站的输入自动提示是怎么做的?数据怎么会那么快的出现呢?

0
[已解决问题] 解决于 2014-05-07 11:18

我现在把数据存在redis中,才几千数据也做不是很快啊,请问还有什么别的技巧吗?

小徐的博客的主页 小徐的博客 | 初学一级 | 园豆:13
提问于:2014-04-10 15:44
< >
分享
最佳答案
0

网站的AutoComplete一般都是使用AJAX技术实现的。

不是很快,这个形容词我知道如何形容,什么叫很快。

反正我试过,土土的服务器(2000大元的兼容机),百万条数据,好像还行,可能哥们你的要求太高了吧。

奖励园豆:5
爱编程的大叔 | 高人七级 |园豆:30748 | 2014-04-10 15:50

当然是用ajax了,后台还是直接从redis中取数据再过滤查询,大概要2秒左右。这有点不正常了

小徐的博客 | 园豆:13 (初学一级) | 2014-04-10 15:52

@小徐的博客: 

我只能呵呵了。

2秒是什么时间?查询时间还是Internet传输时间?

所有基于Internet的应用在考虑上都要注意这是两个不同的概念。

如果是数据库查询的时间,说明数据库服务器好忙啊,或者是你的数据查询语句有问题。

如果是Internet传输以及javascript解析的性能,那就得再看看咯。

从客户端传输查询语句--(A)--服务器接收,开始查询---(B)----查询结果出来--(C)----返回客户端

----(D)----JAVASCRIPT解析。

A、C这两个你基本得等待GDP继续增长,或者多给点钱给电信,要不然只能world wide wait.

D这个是javascript代码,一般除非写得很复杂,要不然这上面可优化空间也不多。

B这个就看数据库性能了。

爱编程的大叔 | 园豆:30748 (高人七级) | 2014-04-10 16:08

@爱编程的大叔: 谢谢你回答:),目前测试数据少,就几千条,服务器端直接从redis中获取,应该不会这么慢,你可以测试感受一下。www.someizhai.com,在左上面的搜索框随便输入英文字母试试看。

小徐的博客 | 园豆:13 (初学一级) | 2014-04-10 16:11

@小徐的博客: 

我上面这么说了,你应该可以自己去找原因了吧?把A\B\C\D的时间分别LOG出来看看。

大概就知道你要往哪儿出力了,我们也只能帮到这儿了。

爱编程的大叔 | 园豆:30748 (高人七级) | 2014-04-10 16:37

@爱编程的大叔: 谢谢

小徐的博客 | 园豆:13 (初学一级) | 2014-04-10 16:38
其他回答(2)
0

放redis 还不快 ? 那应该没有更快的了。  

hpze2000 | 园豆:109 (初学一级) | 2014-04-10 15:46

我也认为放redis应该快啊,现在的问题是确实不快

支持(0) 反对(0) 小徐的博客 | 园豆:13 (初学一级) | 2014-04-10 15:51
0

武汉电信,500~700ms之间 可以接受的速度。

如果服务器在武汉电信机房估计可以降到50ms内。

喵喵喵猫 | 园豆:1742 (小虾三级) | 2014-04-10 16:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册