【问题标题】:PHP & MySQL: Check if table's data has changed without polling?PHP & MySQL:检查表的数据是否在没有轮询的情况下发生了变化?
【发布时间】:2011-05-26 16:27:31
【问题描述】:

有没有一种方法可以在不连接或查询的情况下测试 MySQL 表的数据是否发生了变化

这听起来可能很奇怪,但在 ASP.NET 中,您可以设置 SqlDependencies,它们是在数据更改时发生的一种事件(因此您不必轮询数据库)。

【问题讨论】:

  • 如果您设置触发器以记录到文件并检查该文件?
  • 即便如此,他也必须轮询以检查该文件是否已更新,对吧?
  • @hari,是的,但我相信检查filmtime 比连接到数据库并执行查询要快得多。

标签: php mysql events polling sqldependency


【解决方案1】:

可能不适合您的解决方案(特别是如果 db 的写入者与读取器不在同一应用程序空间中),但如果在插入时,您将一些应用程序范围的变量设置为 Last updated 值。
这避免了您直接轮询数据库,但可能仍会对该值的应用程序进行一些轮询。

【讨论】:

    【解决方案2】:

    您可以在触发器内使用 UDF 通过套接字发送消息。如果您不能开发自己的 udf,那么也许 sys_exec 和 telnet 的组合就可以解决问题。

    但要小心并做好异常处理,即套接字超时。

    【讨论】:

      猜你喜欢
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-17
      • 2016-01-20
      • 1970-01-01
      相关资源
      最近更新 更多