无需轮询即可订阅MySQL数据库中的更改

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

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

你不能只是添加一个updated列到你的表?

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

任何客户端都可以根据上次检查更新的时间进行查询。 您只需要根据updated字段来SELECT行。

你只是这样查看一列,而且查询速度很快。

你也可以索引datetime字段。 这可能会使查询确实非常快。