我在做一个 php,多路API混合搜索的项目。在主页上有一个搜索框,用户提交搜索关键字后,我用jquery ajax提交搜索关键字到5个外部页面,进行5个不同API的搜索,5个API搜索的结果同时写进一个外部缓存文件,进行混合显示和分页使用。然后主页载入缓存文件显示搜索结果。我想询问:这样的方法是否好?本地测试时,感觉PF值略高了点。请教高手,是否有更好的方法,可以达到这一效果?主要关注的是:服务器资源消耗少,用户从搜索到返回结果的时间短。谢谢大家的建议。
调试欢乐多
se_marui_blog,能不能再详细点?谢谢。
如果需要,可以考虑一下使用 memcache 来缓存。
或者把结果都写进数据库,这样可以避免每次都去执行 5个api搜索。还有,你的 5个api搜索,是本地搜索?还是站外的搜索??
缓存进memcache,浪费内存量。
5个api搜索,都是站外搜索。
2. 增加客户端计算量;
3. 混合算法需要重新设计;
4. ...优点:1. 客户端可以有更及时的反应(第一个 API 有返回结果后就可以看到一点显示效果了)
2. 服务端算法简单;
3. 服务端额外开销很小(只需考虑对站外搜索结果的缓存)
4. ...