gpt4 book ai didi

mysql - 每当数据库字段发生变化时将数据推送到客户端

转载 作者:行者123 更新时间:2023-11-29 11:37:10 26 4
gpt4 key购买 nike

我正在使用 socket.io 将数据从我的数据库发送到客户端。但是我的代码每秒都会向客户端发送数据,即使数据是相同的。如何仅当数据库中的字段不是每 1 秒更改一次时才发送数据。

这是我的代码:http://pastebin.com/kiTNHgnu

最佳答案

对于 MySQL,没有简单/简单的方法来获取更改通知。几个选项包括:

  • 如果您有权访问运行数据库的服务器,则可以通过某种解析器流传输 MySQL 的 binlog,然后检查修改所需表/列的事件。如果你想走这条路,npm 上已经有这样的 binlog 解析器。

  • 使用 MySQL 触发器调用 UDF(用户定义函数)。这有点棘手,因为没有很多这些可以满足您的特定需求。然而,有些可能有用,例如 mysql2redis它会推送到 Redis 队列,如果您已经在某个地方安装了 Redis,那么该队列就可以工作。有一个STOMP UDF用于支持该有线格式的各种队列实现。还有其他 UDF,例如 log_error写入文件和 sys_exec它在服务器上执行任意命令(显然很危险,因此它应该是绝对的最后手段)。如果这些都不适合您,如果您还不熟悉 UDF C 接口(interface),您可能需要编写自己的 UDF,这确实需要相当长的时间(根据经验)。

    我还应该注意到,UDF可能会在触发查询中引入延迟,具体取决于 UDF 执行所需的时间。

关于mysql - 每当数据库字段发生变化时将数据推送到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36385575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com