无需轮询即可订阅MySQL数据库中的更改
我有一个MySQL数据库,由我想订阅从我的node.js服务器的更改不同的应用程序更新。 是否有可能监视数据库的任何更新,而不必长时间轮询所有的行/列的任何更改其值?
我所看到的一个可能的解决scheme是使用redis来订阅数据库来侦听任何更改,然后通知我的客户端(在这种情况下,这将是我的服务器)。 如果可能的话,我如何订阅redis到MySQL数据库?
你不能只是添加一个updated
列到你的表?
您可以在该列上添加ON UPDATE CURRENT_TIMESTAMP
,每次更新该行时都会自动存储当前时间。 该规则应用于数据库本身,因此您不需要更新任何使用该数据库的其他客户端,它将自动工作。
任何客户端都可以根据上次检查更新的时间进行查询。 您只需要根据updated
字段来SELECT
行。
你只是这样查看一列,而且查询速度很快。
你也可以索引datetime字段。 这可能会使查询确实非常快。