我有大约 1M 的字符串元素,我必须针对这些元素提供自动完成功能。我当然不能将列表传输给客户端,所以必须进行远程源自动完成。
现在,什么是标准方式 - 实现远程源自动完成的服务器端的数据结构/算法。我应该如何处理客户端发送的用于自动完成的ajax请求?我应该将列表存储在数据库中,还是将其保存在 RAM 中的某些特定数据结构中……等等?
我觉得将它保存在数据库中会使它减慢太多,但是将其保存在 RAM 中会与有限的 RAM 问题发生冲突。
我有大约 1M 的字符串元素,我必须针对这些元素提供自动完成功能。我当然不能将列表传输给客户端,所以必须进行远程源自动完成。
现在,什么是标准方式 - 实现远程源自动完成的服务器端的数据结构/算法。我应该如何处理客户端发送的用于自动完成的ajax请求?我应该将列表存储在数据库中,还是将其保存在 RAM 中的某些特定数据结构中……等等?
我觉得将它保存在数据库中会使它减慢太多,但是将其保存在 RAM 中会与有限的 RAM 问题发生冲突。
可以从远程数据库获得非常可接受的自动完成响应时间。例如,geonames.org 有大约 600 万个地点名称。包括我在内的大多数人都获得亚秒级响应时间来显示自动完成下拉选择。
这是关于如何构建数据库、服务器管理器(多种语言)和自动完成代码的教程的链接。
http://www.jensbits.com/2010/03/29/jquery-ui-autocomplete-widget-with-php-and-mysql/