我正在构建一个针对 webkit 的移动 Web 应用程序。我需要对约 5000 个用户的数据库执行实时搜索(在按键上)。
我尝试了许多不同的技术:
- 在页面加载时,进行 AJAX 调用以加载所有 5000 个用户的内存表示,并在客户端上查询它们。我尝试发送证明太大的 JSON,以及自定义分隔字符串,然后使用 split() 对其进行解析。这更好,但最终对这组用户的搜索速度很慢。
- 我尝试使用传统的 AJAX 调用,它会根据查询返回用户,也使用自定义分隔字符串技术。这更好,但我不得不对其进行调整,以便仅使用至少 3 个字符执行搜索。这不是最佳选择,因为我希望能够在 1 个字符后开始过滤。我还可以限制调用,以便不是某个阈值内的每个击键都会触发请求。这可能有助于提高性能,但我宁愿不必摆弄这类事情。
如果您尝试他们的朋友搜索,Facebook 移动版会很好地做到这一点。搜索立即发生,并在 1 个字符后触发。
我的问题是,是否有人对更快地搜索移动应用程序有任何建议?我应该看localStorage吗?这可靠、可行吗?