我正在开发需要向客户端发出新记录的节点js套接字后端。
我的意思是,假设我有一个mysql数据库,而node js正在运行,我想发出实时插入数据库中的任何新记录,即最后插入的特定记录。
现在我正在使用node js计时器,该计时器正在检查数据库并每1秒向客户端发出所有记录,我不希望这样。
我搜索了很多,但没有找到类似的东西。 感谢您的任何建议。
答案 0 :(得分:0)
以前探索过的一种可能方法是听Mysql's Binary log,也缩写为 binlog 。
这里有两个与之相关的软件包:
第二个软件包中有详细的文档,使您可以立即开始收听Mysql更新。
答案 1 :(得分:0)
最简单的方法是在将记录保存到db之后立即发出事件。
//假设使用mongodb和node
let newStudent = new Student(studentToBeRegistered);
newStudent.save().then((data: any) => {
// on success
// emit socket
socket.emit('newRecord', data)
}).catch((err) => {
console.log(err)
});