gpt4 book ai didi

jquery - 使用 MySql/Node js 创建通知服务器

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

我正在开发一个项目,每当触发数据库事件时我都应该发布通知。

我为此使用 NODE。但我不确定我是否能够做到。

我遇到了this问题如此,但没有多大帮助。

我还看到了 NODE.js MySql Connectors

我真正的问题是什么:

1)有没有类似在 Node js 中读取 MySql 触发器之类的东西。 ?我可以在所需表格中输入一行后立即推送即时通知吗?

2)如果是,我该怎么办?

3)如果不可能,并且我必须每隔几秒后手动检查数据库更改,为什么我应该使用 Node.js 而不是每隔几秒使用浏览器进行异步调用jQuery?

如有任何帮助,我们将不胜感激......!

最佳答案

据我所知,Node 中没有任何简单的方法来读取数据库触发器,因此常见的解决方案是使用 Redis 作为发布系统,并让连接器模块执行实际的数据库查询。一个非常流行的 Node MySQL 连接器是 this一,所以我将使用它作为示例。

使用模块时,您正在寻找的“MySQL 触发器”只是大多数异步模块中常见的简单回调。以下是使用 node-mysql 模块进行查询的示例:

var post  = {id: 1, title: 'Hello MySQL'};
connection.query('INSERT INTO posts SET ?', post, function(err, result) {
//the database transaction has completed, notify the client
});

当回调被调用时,这意味着数据库操作要么完成,要么失败(检查回调中的err属性来检查这一点)。然后,您可以使用 EventSource/Server-Sent Events 或 WebSockets 将此更改发送到浏览器。

作为第三个问题的侧面答案,将数据从服务器推送到客户端总是比客户端持续请求数据更有效,因为当客户端请求数据时,服务器不能保证拥有所需的数据。

关于jquery - 使用 MySql/Node js 创建通知服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18576013/

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