javascript - JS 自动完成。 AJAX 与 JS 对象/数组

标签 javascript mysql jquery

我想知道您认为对于在每次 keyup() 时搜索表的字段来说更好的解决方案是什么。

  1. AJAX查询搜索数据库表,返回结果
  2. AJAX 查询搜索数据库表,然后将结果存储在 session 中,在后续请求中搜索 session
  3. AJAX 查询搜索数据库表,然后将结果存储在 JS 对象/数组中,在后续请求中搜索对象/数组

我应该注意到,该表可以轻松达到 1000 行,但不会增长到超过几千行。什么是有效的、性能驱动的方法来解决这个问题?

这可能是一个好的解决方案吗?

http://jqueryui.com/demos/autocomplete/

最佳答案

我认为你最好的选择(根据你的评论做出一些假设)是将结果缓存在服务器上(而不是 session ,缓存),然后考虑该缓存对象的生命周期。如果您在客户端进行大量使用,并且客户端是浏览器,那么您可以将其发送到客户端以供之后使用。考虑一下 1000 X 100 就是 100,000 - 虽然不是很大,但仍然不是试用。

如果它是不太理想的客户端(例如移动设备),您可以考虑更适合该设备集的东西。

然而,这都是相当主观的。

编辑:您应该能够构建这样的结构,以便您的缓存将由多个客户端使用(如果它们都是相同的数据集),而 session 将由每个用户使用。

关于javascript - JS 自动完成。 AJAX 与 JS 对象/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340018/

相关文章:

Mysql如何找到当前数据库,赋值到一个字符串变量中

mysql - Django同步数据库属性错误: 'list' object has no attribute 'startswith'

javascript - 是否可以将 jquery 选择器命名为变量的值

javascript - Chrome 的executeScript 函数不起作用

javascript - Google map v3 - 将边界设置为标记中心

php - MySQL Select 语句不输出任何内容

javascript - 如何在CanJs中找出哪个 anchor 标签被点击并获取id?

javascript - 如何在多个复选框上输入 'onchange' 事件

Javascript ScrollTop 效果不起作用

javascript - 如何在不同方向多次绘制一张图像?