workerman 怎麼實現mysql資料庫裡面的一個表一旦有新的資料的加入,就把新的資料發送到前端?

來源:互聯網
上載者:User
我的需求是這樣的,使用workerman 來做前後端的長連結,然後mysql的一張表一旦有了新的資料,就把新的資料發送到前端,發送的資料是個數組,我該怎麼實現?如果我的描述不夠清楚,請再問,本人線上等,謝謝大神幫忙解決了.

回複內容:

我的需求是這樣的,使用workerman 來做前後端的長連結,然後mysql的一張表一旦有了新的資料,就把新的資料發送到前端,發送的資料是個數組,我該怎麼實現?如果我的描述不夠清楚,請再問,本人線上等,謝謝大神幫忙解決了.

http://www.workerman.net/web-sender
可以通過workerman的phpsocket.io推送

http://wenda.workerman.net/?/question/508
可以在Worker中開一個text連接埠推送

http://workerman.net/gatewaydoc/advanced/push.html
利用workerman的gatewayWorker推送,使用GatewayClient

什麼時候觸發以及怎麼觸發需要自己控制

我一般使用redis來解決。

在插入表的地方進行判斷,是否需要把資料發送給前端

使用觸發器吧,先建立自訂函數,函數會訪問你需要回調的程式的連接埠,然後觸發器裡面調用該函數----我說的是mysql觸發器,mysql diy函數可以直接用c來寫,方便又快捷,php裝一個多線程模組,監聽兩個連接埠,一個用於與前端websocket進行互動,一個用於接收mysql觸發器發送過來的資料,可以在資料庫中建立一個socketid表用來關聯各個線程,其實這種破事用.net會比較好寫

可以定時查下資料庫,如果有資料,就調workerman的介面發過去

我當年遇到這個需求,需要資料庫主動推送資料給代理程式更新,然並未發現啥解決方案,這個要問dba是不是有這種手段,我解決方案當時用的定時任務,輪訓的資料庫~

另外,資料的錄入過程那裡能不能給你系統個通知啥的,具體可以聊聊設計

沒接觸過workerman,代碼也寫得少,僅僅提供一種思路:

在寫入資料 的代碼那裡加一個 攔截函數,起到通知workerman的作用

這個有個局限性,就是資料庫有多個寫入口的話,這樣就很蛋疼。

盡量不要與mysql結合

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.