2012-02-01 70 views
4

我正在设计一个应用程序,该应用程序将在浏览器中运行并将警报推送给它。我已经决定用Node.js和Socket.io处理大量的连接和所谓的反向AJAX部分。这看起来很不错,可以避免不断的轮询,给我一个实时的应用程序,除了一件事,我该如何去实时从mysql数据库中获取信息?从Node.js(或其他)将附加事件添加到MySQL

我想象的事情就像一个事件处理程序,我可以说像插在一行上的东西给我的数据。我知道这可以用触发器来完成,但不知道如何去做。

有没有很好的方法来做到这一点?

P.S.如果我不得不使用Node.js以外的东西,那么这是没有问题的。

感谢,

加雷思

+0

你最好使用有更多的运气[Redis的(http://redis.io/),因为它已经发布/订阅机制内置的。你的另一种方法是查询数据库或写自定义插件功能,将通过数据库触发器来执行,但这会变得混乱。 – 2012-02-01 14:31:09

+0

不幸的是,数据被推送到MySQL数据库,我无法控制,如果Redis可以设置从MySQL复制,将工作。谢谢 – ridecar2 2012-02-01 14:36:26

+0

您无法自动将MySQL复制到Redis。特别是因为这两种数据模型之间没有一对一映射。数据库触发器旨在更新数据库中的其他数据,而不是与外部服务交互。如果您想深入研究C/C++并编写函数,您可能希望查看[MySQL插件API](http://dev.mysql.com/doc/refman/5.5/en/plugin-api.html)你可以从触发器中调用来完成繁重的工作。 – 2012-02-01 14:50:20

回答

1

,如果你尝试使用sys_exec(),UDF的功能呢?你将能够通过mysql的触发器和一些外部脚本到达node.js ..

- MySQL的触发器触发一个脚本(PHP或Perl或其他),其中包含您的JavaScript节点客户端的东西。

干杯