通知其他用户我的 table SQL 在 Javascript - SQL 中实时更改

Inform other users that my table SQL has changed in real time in Javascript - SQL

在我的应用程序中,很多用户可以在我的数据库 postgreSQL 的 table 中添加元素。
如果用户在我的 table 中有一个新元素,我想通知同时使用该应用程序的其他用户 table 的内容发生了变化 - 用户在 [=25] 中添加了一个新元素=].

一个解决方案:我可以每隔 X 秒(或分钟)获取我的 table 的内容,并将新结果与以前的结果进行比较,但我认为这会消耗太多请求。

有没有解决方案,每次在 postgresql 中 table 的内容发生变化时,像标志一样发送到前面?或者类似的东西来解决我的问题?

我的前端:Vue JS
我的支持:Node JS
我的数据库:PostgreSQL

postgreSQL 有一个 LISTEN / NOTIFY feature。您可以创建一个规则,每当 table 更改时发送 NOTIFY。然后您的 LISTENed 连接将接收那些异步事件。

您也可以采用某种 message-queuing 系统。然后,您可以将 inserts/updates 您的 table 添加到您的代码中,以便将消息也发送到您的排队系统中。然后,您的服务器代码可以订阅这些消息并将它们发送到您的客户端代码。

redis 很适合这种排队工作。 RabbitMQ也是。

要将通知从 Web 应用程序的服务器端推送到您的客户端,您需要 socket.io 或 Websockets,或者让您的客户端轮询您的 Web 服务器。

感谢@jeremycastelli 的帮助!我用 socket.io tp 解决了我的问题:)