侦听从 PHP Web 服务访问的 MySQL 数据库中的更改

Posted

技术标签:

【中文标题】侦听从 PHP Web 服务访问的 MySQL 数据库中的更改【英文标题】:Listening for changes in a MySQL Database that is accessed from a PHP web service 【发布时间】:2014-04-28 14:57:46 【问题描述】:

我的场景是这样的:我在 mysql 数据库中有一些表,我通过 JSON-RPC 2.0 协议使用 php Web 服务连接到它。我在一个用 Java 编码的桌面应用程序上显示这些表的数据,它就像一个用于进行更改的管理工具(还有一个 android 应用程序也使用这些数据)。我需要定期检查更改并将其显示给用户,这些表有一个 last_update 列。应用程序中的数据存储在一个数组中。

如何获取上次检查后的更改?

【问题讨论】:

【参考方案1】:

最简单的方法是使用您上次阅读的时间向 PHP 服务发出请求。然后,您只需查询 last_update 时间大于上次请求时间的任何元组(实体)。这将要求两个应用程序在一定的时间间隔内请求更改(可能每秒一次)。

另一种方法是创建一个长时间运行的 PHP 或 C++ 任务,该任务将不断地查询数据库并通过网络套接字将数据推送出去。这往往更难支持,并且您很快就会遇到保持数据“同步”的问题,因此您最终会发送比服务自己请求更多的数据。

** 请告知这是否回答了您的问题,或者您是否需要更多详细信息。

【讨论】:

是的,你给了我一个想法。获得更新的元组后,我可以检查数组以根据 id 更新值。只是我需要更改 ArrayList 的数组,或者使用 id 作为键的更好的 TreeMap。

以上是关于侦听从 PHP Web 服务访问的 MySQL 数据库中的更改的主要内容,如果未能解决你的问题,请参考以下文章

第11章 使用PHP从Web访问MySQL数据库

用php模拟做服务端侦听端口

从局域网访问ws socket服务器

配置对 XAMPP 的外部访问

Web服务------LAMP架构的安装(Apache,Mysql,PHP,论坛安装详解)

在另一台服务器上移动 PHP 应用程序时无法访问 MySQL 视图