【问题标题】:socket io - How does it know if a data changed in DB?socket io - 它如何知道数据库中的数据是否更改?
【发布时间】:2018-11-22 23:02:58
【问题描述】:

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

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

socket.io 可以帮助实现这一点吗?

不确定,它如何知道数据库中是否有任何数据变化?

【问题讨论】:

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


    【解决方案1】:

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

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

    Here is simple example

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

    希望这会对你有所帮助。

    【讨论】:

    • 但就他的情况而言,SSE 可能对他有好处,尝试其他方法而不是坚持一种解决方案并没有什么坏处。
    • 谢谢检查
    猜你喜欢
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 2021-03-31
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多