如何在mysql数据库中有更新时实现服务器推送?

时间:2011-02-15 05:00:50

标签: mysql server-push ape

我面临的情况是:

我有一个php + mysql Web应用程序。多个用户共享同一数据库中的资源。 我希望实现一项功能,即每当数据库记录(创建,更新或删除)发生更改时,其他用户都会立即得到通知。

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

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

OR

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

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

提前感谢!

2 个答案:

答案 0 :(得分: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);
    }
}

答案 1 :(得分:1)