2012-02-01 66 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節點客戶端的東西。

乾杯