首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高Jquery自动补全的性能

如何提高Jquery自动补全的性能
EN

Stack Overflow用户
提问于 2009-05-03 17:44:15
回答 7查看 50K关注 0票数 48

我计划为一个站点使用jquery自动完成,并且已经实现了一个测试版本。我现在正在使用ajax调用为每个字符输入检索一个新的字符串列表。问题是,在填充新列表之前,它变得相当慢,需要1.5秒。让自动补全变得更快的最好方法是什么?我正在使用cakephp,只是做了一个查找,并且有10个项目的限制。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-05-04 11:51:34

This article -关于flickr如何自动补全是一本非常好的读物。读它的时候,我有一些“哇”的体验。

“这个小工具可以在200ms内下载你所有联系人的列表(即使是拥有10,000+联系人的成员也是如此)。为了获得这样的性能,我们必须彻底重新考虑如何将数据从服务器发送到客户端。”

票数 54
EN

Stack Overflow用户

发布于 2012-02-08 06:46:04

尝试预加载列表对象,而不是动态查询。

此外,默认情况下,自动完成功能有300毫秒的延迟。

也许可以去掉延迟

代码语言:javascript
复制
$( ".selector" ).autocomplete({ delay: 0 });
票数 38
EN

Stack Overflow用户

发布于 2009-05-03 18:07:13

1.5秒的间隔对于自动完成服务来说是非常大的间隔。

  1. 首先优化您的查询和数据库连接。尝试使用内存缓存保持数据库连接的活动状态。如果您的服务经常用于忽略重新获取,则
  2. 使用结果缓存方法。
  3. 使用客户端缓存( JS列表)将旧请求保留在客户端上。如果用户重新输入并删除,这将是有用的。结果将来自前端缓存,而不是后端。在客户端进行
  4. 正则表达式过滤不会很昂贵,您可以试一试。
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/817576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档