3

我面临的情况是:

我有一个 php+mysql 网络应用程序。多个用户在同一个数据库中共享资源。我想实现一个功能,只要数据库记录发生更改(创建、更新或删除),其他用户就会立即收到通知。

我正在考虑使用 ajax 推送引擎 (APE),但不确定大局如何。

(1) 是否像我需要一个脚本不断检查 last_update 时间戳并在检测到新更改时向客户端发送通知?

或者

(2) 每次对数据库表执行任何操作后,向客户端发送通知,告诉他们重新加载数据?

哪一个更好或关于如何实现这一点的任何其他建议?

提前致谢!

4

2 回答 2

2

您最好的选择是#2,当您写入数据库时​​,您的更改正在发生,也就是您应该推送的时候。

class DatabaseModel
{
    ...

    function save($data)
    {
        ... // your db query

        after_save();
    }

    function after_save()
    {
        // push changes out using some other object 
        // e.g. MyPushClass::something_changed($this);
    }
}
于 2011-02-15T05:10:14.233 回答
1

您可以comet为此使用库。

http://ajaxian.com/archives/comet-with-php

http://www.zeitoun.net/articles/comet_and_php/start

于 2011-02-15T05:04:39.057 回答