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