我已经用 PHP 实现了 Jquery 自动完成器。我注意到当我输入一个字母时,需要超过 2 秒才能给出结果。有没有办法提高响应速度?我们可以在 PHP 中使用应用程序缓存吗?
如果您需要更多信息,请告诉我。
我已经用 PHP 实现了 Jquery 自动完成器。我注意到当我输入一个字母时,需要超过 2 秒才能给出结果。有没有办法提高响应速度?我们可以在 PHP 中使用应用程序缓存吗?
如果您需要更多信息,请告诉我。
除非您没有在客户端 Javascript 代码中意外犯某种错误,否则没有其他方法可以大大加快响应速度,而不是尝试提高服务器端脚本的响应速度。
不幸的是,最有效的方法(在速度方面给出最好的结果)并不是很简单:不是每次自动完成器触发时都从数据库中获取结果,而是从某种基于内存的缓存中获取数据,例如 Memcached或 Redis。这当然需要某种措施来保持缓存与数据库中的数据一致,因此您的自动完成不会返回过时的结果。
使用自动完成进行搜索的最佳方法是给出 minLength=3 或 4,这样它就不必简单地搜索整个数据库,这会导致浏览器挂起,而且还会消耗时间。
您可以使用浏览器localstorage
从您的服务器保存数据一次。然后,每次您在自动完成字段中写入内容时,您都会查询此存储而不是您的 PHP 脚本。
如果您有一个大型数据集并且不想将其加载到 中localstorage
,您可以使用memcached
或redis
缓存您的数据库查询。
此外,您可以缓存类以减少 PHP 脚本的生成时间。
使用预先填充的列表。检查这个插件http://jqueryui.com/autocomplete/