如何有效地在MEAN Web应用程序上实现相似功能?

时间:2019-07-11 17:30:15

标签: node.js angular mongodb express mean-stack

我正在构建一个Web应用程序,其中用户可以喜欢页面上显示的一些选择。

我想以最有效的方式构建这个类似/不一样的系统。每次按like按钮是否需要将http请求发送到node.js服务器以修改Mongo中的用户数据?

我问,因为我将拥有一个python脚本作为推荐系统,以监听MongoDB中发生的所有更改。

3 个答案:

答案 0 :(得分:1)

是的,每次点击都应通过回调来到达服务器。有人可以说:

  

您还可以使用此功能进行调整,例如将特定用户喜欢的所有帖子的ID弹出数组,然后在会话结束时或特定时间后将其发送回去。

但是,如果该数组由于某种原因错误地丢失了数据怎么办?还是由于某些原因会话失败?另外,其他用户将如何查看喜欢或不喜欢的帖子?

看到这些是我们总是每次回送响应的原因。但是,JQuery和其他框架可以使其快速运行。

答案 1 :(得分:0)

  

每按一次like按钮,是否需要将一个HTTP请求发送到node.js服务器以修改Mongo中的用户数据?

是的,您需要以某种方式将数据发送到服务器。通常,HTTP请求是一个不错的选择,并且不必像以前那样繁重。

首先,您的服务器应启用HTTP保持活动状态,请求完成后,基础TCP连接将保持打开状态一段时间。这样,可以在同一连接上发出后续请求。

此外,您应该确保已启用HTTP / 2,由于其二进制性质,这是一种更有效的协议。更重要的是,像Cookie之类的标头和不重复的标头不会一遍又一遍地发送。

通过遵循这些最佳实践,您会发现您的请求/响应距离现有连接仅几字节。而且,您无需更改代码中的任何内容即可!

答案 2 :(得分:-1)

如果您期望成千上万的用户,那么使用传统的RESTful api可能不是此处的最佳选择。我建议您针对用例研究websocket。