在没有轮询的情况下订阅MySQL数据库中的更改

时间:2015-03-14 02:23:38

标签: mysql node.js redis publish-subscribe

我有一个MySQL数据库,由不同的应用程序更新,我想订阅我的node.js服务器的更改。是否可以监视数据库中的任何更新,而无需长时间轮询所有行/列以查看其值的任何更改?

我看到的一个可能的解决方案是使用redis订阅数据库以侦听任何更改,然后通知我的客户端(在这种情况下将是我的服务器)。如果可能的话,如何将redis订阅到MySQL数据库?

1 个答案:

答案 0 :(得分:0)

你能不能在表格中添加updated列?

您可以在列上添加 ON UPDATE CURRENT_TIMESTAMP ,这会在每次更新该行时自动存储当前时间。该规则适用于数据库本身,因此您不需要更新使用该数据库的任何其他客户端,它将自动运行。

然后,任何客户端都可以根据上次检查更新的时间进行查询。您只需要基于其SELECT字段{}}行updated行。

您只需检查一列,并且查询速度非常快。

您也可以将日期时间字段编入索引apperently。这可能会使查询确实非常快。

相关问题