有没有方法可以监听对特定数据库表的插入



我有两个应用程序。一个使用node.js,另一个使用php。

我正在寻找一种方法来监听node.js对notifications表所做的更改。

这是伪代码:

$database->whenInsertToTable('notifications', function() {
// Do something with new notifications...
});

目前,我看到的唯一实现选项是创建一个任务,例如,每分钟检查一次通知表,但这有一个缺点。如果插入是在最后一次检查之后立即进行的,那么我们将获得59秒的延迟。

在我看来,每秒检查一次表格也不是最好的解决方案,因为这是每秒的一次选择。我正试图找到一个现成的解决方案/库来监听数据库事件。

一种可能的方法是使用像RabbitMQ这样的消息代理。node.js会插入数据库,然后在Rabbit上发布一个事件。PHP将监听此事件,并触发您想要附加此事件的任何逻辑。

或者,您可以在插入之后从node.js调用PHP应用程序中的API。如果这只是针对一个较小的应用程序,那么它可能会更加轻量级。

最新更新