我有一个显示文章列表的网站,以及类别过滤器。可以打开和关闭过滤器,文章列表将自动调整。
目前,我已经这样了,当点击过滤器时,AJAX向根据所选过滤器查询数据库的脚本发出请求,然后将结果输出给用户。
这是一种效率低下的方法吗?我最近的另一个想法是在页面加载时只查询数据库中的每一篇文章。然后,过滤器将相应地切换每个帖子的显示元素,而不是发出AJAX请求。
这听起来比使用AJAX要好得多,但我希望得到关于效率和语义方法的其他意见。
答案 0 :(得分:2)
这取决于你有多少篇文章。如果有数百或数千个,你可能会通过AJAX提取来节省处理。否则,客户端过滤更有意义。
答案 1 :(得分:2)
一切都取决于您的具体数字。你有多少访客?加载整个页面有多重?加载所有文章的页面加载会增加多少秒。
一般来说,如果你的文章不是那么多我建议一次加载它们,那么用户可以从更快的加载中获益,并且你的生活更容易,因为你不必编写特定的服务来逐个加载文章。
那说你的ajax解决方案并不低效,如果文章数量增加,这是最好的解决方案。
答案 2 :(得分:1)
我想这取决于您尝试缓存的行数。如果它小于1000,那么我可能会缓存它,但如果它超过你可以使用AJAX。由于数据通过http传播的限制,AJAX通常效率低下。
答案 3 :(得分:0)
您如何进行此查询?用params获取?
如果是,您可以阅读varnish来缓存它。不再担心它。
第一个请求将缓存在内存中。其他人永远不会触及DB而不是脚本文件,只是缓存的响应。
将清漆配置为在2到2分钟内到期并且具有高性能请求(即使有数百万请求此AJAX,也只会在数据库中进行一次查询)