socket io - 如何知道数据库中的数据是否发生了变化?

时间:2018-06-13 11:21:12

标签: javascript node.js angular websocket socket.io

在我的Angular5 / NodeJS网络应用中,我们有一个需要实时数据的仪表板。

如果数据库中有任何数据更改,我们希望它立即反映在前端。目前,我们定期(例如30秒)重新加载数据。

socket.io可以帮助实现这个目标吗?

不确定,如何知道数据库中是否有任何数据更改?

1 个答案:

答案 0 :(得分:2)

您可以在HTML5中使用SSE(服务器已发送事件)功能。

服务器发送事件(SSE)是描述服务器在建立初始客户端连接后如何向客户端发起数据传输的标准。它们通常用于向浏览器客户端发送消息更新或连续数据流,旨在通过名为EventSource的JavaScript API增强本机跨浏览器流,客户端通过该API请求特定URL以接收事件流。 / p>

Here is simple example

由于SSE是单向的,因此您可以节省工作量并提高性能,因为您只想将数据库更新发送到前端,即仅向单向发送。

希望这会对你有所帮助。